C# C中字节与字节数据类型之间的差异#
我注意到C#中既有字节数据类型,也有字节数据类型。它们都表示它们属于struct System.Byte类型,表示8位无符号整数 所以我很好奇,如果两者之间有什么区别,为什么你会使用一个而不是另一个C# C中字节与字节数据类型之间的差异#,c#,byte,C#,Byte,我注意到C#中既有字节数据类型,也有字节数据类型。它们都表示它们属于struct System.Byte类型,表示8位无符号整数 所以我很好奇,如果两者之间有什么区别,为什么你会使用一个而不是另一个 谢谢 无差异byte是System.byte的别名,同样地,int是System.Int32的别名,long是System.Int64的别名,string是System.string的别名,它们通常是相同的。byte和System.byte在C中是相同的byte只是一种语法糖,StyleCop(用于
谢谢 无差异
byte
是System.byte的别名,同样地,int
是System.Int32的别名,long
是System.Int64的别名,string
是System.string的别名,它们通常是相同的。byte
和System.byte
在C中是相同的byte
只是一种语法糖,StyleCop(用于样式指南)推荐它。C#有许多用于.NET类型的别名byte
是byte
的别名,正如string
是string
的别名,int
是Int32
的别名。也就是说,byte
和byte
是相同的实际类型 无,小写字母是一个关键字,是字节类型的别名
这是纯粹的语法糖。关键字
byte
是System.byte
数据类型的别名
它们表示相同的数据类型,因此生成的代码是相同的。在用法上只有一些不同:
- 即使未包括
命名空间,也可以使用系统
。要使用字节
您必须拥有字节
位于页面顶部,或指定完整的命名空间使用系统
System.Byte
- 在一些情况下,C#只允许使用关键字,而不允许使用框架类型,例如:
byte
是C#中的内置数据类型。System.Byte
是一个表示Byte
的结构,并提供额外的方法,如Parse
和TryParse
byte
是System.byte
struct的别名。不同的.NET语言根据特定语言的语义有不同的别名,但它们都映射到.NET framework中的特定类型。使用反射时
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"
事实上,字节被称为System.byte的别名,没有“将其转换为字节”的概念。字节和
系统。字节
完全相同。没有任何区别。这与Java不同,Java实际上是离散类。如果使用GetBytes()@RadhaManohar byte[]/byte[],将返回什么。同一事物有两个名字。甚至MSDN文档也在它们之间切换;签出(在进行此注释时,方法签名中的返回类型为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"