web-dev-qa-db-ja.com

C#のバイトデータ型とバイトデータ型の違い

C#にはbyteByteの両方のデータ型があることに気付きました。両方とも、タイプがstruct System.Byteであり、8桁の符号なし整数を表すと言います。

したがって、2つの間に違いがある場合、どのような違いがあるのか​​、なぜ一方を他方に使用するのかについて興味があります。

ありがとう!

139
jaywon

byteキーワードは、System.Byteデータ型のエイリアスです。

これらは同じデータ型を表すため、結果のコードは同じです。使用法にはいくつかの違いがあります。

  • byte名前空間が含まれていない場合でも、Systemを使用できます。 Byteを使用するには、ページの上部にusing System;が必要です。または、完全な名前空間System.Byteを指定する必要があります。

  • C#でフレームワークタイプではなく、キーワードのみを使用できる場合がいくつかあります。たとえば、

enum Fruits : byte // this works
{
  Apple, Orange
}

enum Fruits : Byte // this doesn't work
{
  Apple, Orange
}
140
Guffa

C#のbyteSystem.Byteは同じです。 byteは単なる構文上の砂糖であり、StyleCopによって推奨されています(スタイルガイドラインのため)。

25
Adam Maras

変わりはない。 byteはSystem.Byteのエイリアスで、intはSystem.Int32のエイリアス、longはSystem.Int64のエイリアス、stringはSystem.Stringのエイリアスです、...

8
Darin Dimitrov

C#には、.NETタイプのエイリアスが多数あります。 byteByteのエイリアスであり、stringStringのエイリアスであり、intInt32のエイリアスです。 。つまりbyteByteは同じ実際の型です。

6
Brian Rasmussen

何もありません、小文字はByte型のエイリアスであるキーワードです。

これは純粋な構文糖です。

6
Gerrie Schenck

それらは一般的に同じです。

4
Aurril

反射を使用する場合も、、、

Type t=Type.GetType("System.Byte"); //works

Type t=Type.GetType("System.byte"); //doesn't work, I can see no way to use"byte" directly here without converting it to "Byte"
0
Colin

byteは、C#の組み込みデータ型です。
System.Byteは、byteを表す構造体であり、ParseTryParseなどの追加のメソッドを提供します。

byteSystem.Byte構造体のエイリアスです。異なる.NET言語には、特定の言語のセマンティクスに基づいて異なるエイリアスがありますが、それらはすべて.NETフレームワークの特定の型にマップされます。

0
ata