何时应用途:
Int32 myint = 0;//Framework data type
对比
int myint = 0;//C# language data type
有什么相似之处/不同之处?我似乎记得有人告诉我有性能差异?这是真的吗?
vlju58qv1#
在C#中,语言定义的数据类型关键字只是它们各自BCL类型的别名,所以int和Int32完全相同,long和Int64相同,等等。不过,一般来说,我认为最好还是使用语言定义的类型名,因为这些别名是由编译器解析的,所以绝对没有性能上的差异。
int
Int32
long
Int64
ifmq2ha22#
int是System.Int32的别名,string是System.String的别名。没有区别。也就是说,最好使用int和string,而不是它们的System等价物,主要是为了可读性。如果使用StyleCop这样的源代码样式检查器,它会强制将所有System.String和System.Int32声明替换为它们的较短等价物。
System.Int32
string
System.String
fquxozlt3#
我曾经提倡使用C#语言别名而不是CLR类型,但在我听说Jeffery Richter在他的书CLR via C#中提倡CLR类型后,我改变了我对使用CLR类型的偏好,这是我第一次接触CLR的其他开发人员,能够看到CLR而不是C#是关注的中心,以及引用和值类型之间的颜色线索有助于快速地可视化地解析代码。
3phpmpom4#
有趣:The compiler doesn’t allow you to type enum using the “Int32” but it does when you use “int” .
4条答案
按热度按时间vlju58qv1#
在C#中,语言定义的数据类型关键字只是它们各自BCL类型的别名,所以
int
和Int32
完全相同,long
和Int64
相同,等等。不过,一般来说,我认为最好还是使用语言定义的类型名,因为这些别名是由编译器解析的,所以绝对没有性能上的差异。
ifmq2ha22#
int
是System.Int32
的别名,string
是System.String
的别名。没有区别。也就是说,最好使用
int
和string
,而不是它们的System等价物,主要是为了可读性。如果使用StyleCop这样的源代码样式检查器,它会强制将所有System.String
和System.Int32
声明替换为它们的较短等价物。fquxozlt3#
我曾经提倡使用C#语言别名而不是CLR类型,但在我听说Jeffery Richter在他的书CLR via C#中提倡CLR类型后,我改变了我对使用CLR类型的偏好,这是我第一次接触CLR的其他开发人员,能够看到CLR而不是C#是关注的中心,以及引用和值类型之间的颜色线索有助于快速地可视化地解析代码。
3phpmpom4#
有趣:The compiler doesn’t allow you to type enum using the “Int32” but it does when you use “int” .