C # 中字节与字节数据类型的区别

我注意到在 C # 中同时存在 字节再见数据类型。它们都说它们是 结构体系统。字节类型,并且表示一个8位无符号整数。

这两者之间有什么不同(如果有的话) ? 为什么你会用一个而不用另一个?

37310 次浏览

没什么区别。byte是 System 的别名。字节,就像 int是 System 的别名一样。Int32,long呼叫系统。Int64,string呼叫系统。绳子..。

它们通常是一样的。

C # 中的 byteSystem.Byte是相同的。 byte只是一种语法糖,是 StyleCop 推荐的(用于样式指南)。

C # 有许多别名用于。NET 类型。byteByte的别名,就像 stringString的别名,intInt32的别名一样。也就是说,byteByte是相同的实际类型。

没有,小写的那个是一个关键字,是 Byte 类型的别名。

这是纯句法糖。

byte关键字是 System.Byte数据类型的别名。

它们表示相同的数据类型,因此产生的代码是相同的:

  • 即使不包括 System命名空间,也可以使用 byte。要使用 Byte,必须在页面顶部使用 using System;,或者指定完整的名称空间 System.Byte

  • 在一些情况下,C # 只允许您使用关键字,而不是框架类型,例如:

.

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


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

详细的其他别名,请按照 链接

byte是 C # 中的一种内置数据类型。
System.Byte是一个结构体,表示 byte,并提供额外的方法,如 ParseTryParse

byteSystem.Byte结构的别名。与众不同。NET 语言根据特定语言的语义有不同的别名,但它们都映射到。NET 架构。

当使用反射时,

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"