Разница между байтами и байтовыми типами данных в С#

Я заметил, что в С# есть тип данных byte и Byte. Они оба говорят, что они имеют тип struct System.Byte и представляют собой 8-значное целое число без знака.

Так что мне любопытно, какая разница, если таковая существует между двумя, и почему вы будете использовать один над другим.

Спасибо!

Ответ 1

Ключевое слово byte - это псевдоним для типа данных System.Byte.

Они представляют один и тот же тип данных, поэтому полученный код идентичен. Существуют только некоторые различия в использовании:

  • Вы можете использовать byte, даже если пространство имен System не включено. Чтобы использовать byte, вы должны иметь using System; в верхней части страницы или указать полное пространство имен System.Byte.

  • Есть несколько ситуаций, когда С# позволяет вам использовать ключевое слово, а не тип фрейма, например:

.

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

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

Ответ 2

byte и System.Byte в С# идентичны. byte является просто синтаксическим сахаром и рекомендуется StyleCop (для руководства по стилю).

Ответ 3

Никакой разницы. byte является псевдонимом System.Byte, таким же образом int является псевдонимом System.Int32, long для System.Int64, string для System.String,...

Ответ 4

С# имеет ряд псевдонимов для типов .NET. byte является псевдонимом для byte, так как string является псевдонимом для string, а int является псевдонимом для Int32. То есть byte и byte являются одним и тем же фактическим типом.

Ответ 5

Ничего, нижний регистр - это ключевое слово, которое является псевдонимом для типа байтов.

Это чистый синтаксический сахар.

Ответ 6

Они, как правило, одинаковы.

Ответ 7

byte - это встроенный тип данных в С#.
System.Byte - это структура, которая представляет byte и предоставляет дополнительные методы, такие как Parse и TryParse.

byte является псевдонимом структуры System.Byte. Различные языки .NET имеют разные псевдонимы, основанные на семантике конкретного языка, но все они сопоставляются определенным типам в .NET framework.

Ответ 8

также при использовании отражения,,

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"