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

时间:2010-03-10 09:28:47

标签: c# byte

我注意到在C#中有字节字节数据类型。他们都说它们是 struct System.Byte 类型,代表一个8位无符号整数。

所以我很好奇两者之间有什么不同,以及为什么你会使用另一个。

谢谢!

8 个答案:

答案 0 :(得分:135)

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
}

答案 1 :(得分:25)

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

答案 2 :(得分:8)

没有区别。 byte是System.Byte的别名,同样int是System.Int32的别名,long是System.Int64,string是System.String,...

答案 3 :(得分:6)

C#有许多.NET类型的别名。 byteByte的别名,因为stringString的别名,intInt32的别名。即byteByte是相同的实际类型。

答案 4 :(得分:6)

没有,小写的是关键字,它是字节类型的别名。

这是纯粹的语法糖。

答案 5 :(得分:4)

它们通常是相同的。

答案 6 :(得分:0)

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

byteSystem.Byte struct的别名。根据特定语言的语义,不同的.NET语言具有不同的别名,但它们都映射到.NET框架中的特定类型。

答案 7 :(得分:0)

当使用反射,,,

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"