我应该何时使用:
Int32 myint = 0;//Framework data type
VS
int myint = 0;//C# language data type
有什么相似之处/不同之处?我似乎记得被告知有性能差异?这是真的吗?
答案 0 :(得分:8)
在C#中,数据类型的语言定义关键字只是各自BCL类型的别名。因此int
与Int32
完全相同,long
与Int64
相同,等等。
一般来说,我认为最好坚持使用语言定义的类型名称。绝对没有性能差异,因为编译器会解析这些别名。
答案 1 :(得分:5)
int
是System.Int32
的别名,string
是System.String
的别名。没有区别。
尽管如此,最好使用int
和string
,而不是系统等效,主要是为了提高可读性。如果您使用StyleCop等源样式检查器,则会强制将所有System.String
和System.Int32
声明替换为较短的等效声明。
答案 2 :(得分:1)
答案 3 :(得分:1)
我过去主张在CLR类型上使用C#语言别名,但是在听说Jeffery Richter在他的书CLR中通过C#提倡CLR类型之后,我改变了我对使用CLR类型的偏好,我的第一手处理新的其他开发人员CLR,能够看到CLR而不是C#是关注的焦点,以及引用和值类型之间的颜色线索有助于快速直观地解析代码。