C#中字节与字节数据types的区别
我注意到,在C#中有一个字节和字节数据types。 他们都说他们的结构System.Byte和表示一个8位无符号整数。
所以我很好奇两者之间有什么区别,为什么你们会使用这两者之一。
谢谢!
byte
关键字是System.Byte
数据types的别名。
它们表示相同的数据types,所以得到的代码是相同的。 用法上只有一些差异:
-
即使没有包含
System
命名空间,也可以使用byte
。 要使用Byte
你必须有一个using System;
在页面顶部,或者指定完整的命名空间System.Byte
。 -
有几种情况,C#只允许使用关键字,而不是框架types,例如:
。
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#有许多.NETtypes的别名。 byte
是byte
的别名,就像string
是string
的别名一样, int
是Int32
的别名。 即byte
和Byte
是相同的实际types。
没有,小写字母是一个关键字,它是字节types的别名。
这是纯粹的语法糖。
他们一般都是一样的。
byte
是C#中的一种内置数据types。
System.Byte
是一个表示byte
的结构,并提供了诸如Parse
和TryParse
等额外的方法。
byte
是System.Byte
结构的别名。 不同的.NET语言基于特定语言的语义具有不同的别名,但是它们都映射到.NET框架中的特定types。
也使用reflection时,,,
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"