C#にはbyteとByteの両方のデータ型があることに気付きました。両方とも、タイプがstruct System.Byteであり、8桁の符号なし整数を表すと言います。
したがって、2つの間に違いがある場合、どのような違いがあるのか、なぜ一方を他方に使用するのかについて興味があります。
ありがとう!
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
}
C#のbyte
とSystem.Byte
は同じです。 byte
は単なる構文上の砂糖であり、StyleCopによって推奨されています(スタイルガイドラインのため)。
変わりはない。 byte
はSystem.Byteのエイリアスで、int
はSystem.Int32のエイリアス、long
はSystem.Int64のエイリアス、string
はSystem.Stringのエイリアスです、...
C#には、.NETタイプのエイリアスが多数あります。 byte
はByte
のエイリアスであり、string
はString
のエイリアスであり、int
はInt32
のエイリアスです。 。つまりbyte
とByte
は同じ実際の型です。
何もありません、小文字はByte型のエイリアスであるキーワードです。
これは純粋な構文糖です。
それらは一般的に同じです。
反射を使用する場合も、、、
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"
byte
は、C#の組み込みデータ型です。System.Byte
は、byte
を表す構造体であり、Parse
やTryParse
などの追加のメソッドを提供します。
byte
はSystem.Byte
構造体のエイリアスです。異なる.NET言語には、特定の言語のセマンティクスに基づいて異なるエイリアスがありますが、それらはすべて.NETフレームワークの特定の型にマップされます。