我应该何时使用.net Framework数据类型与语言数据类型?

时间:2009-07-30 17:34:45

标签: c# .net types

我应该何时使用:

Int32 myint = 0;//Framework data type

VS

int myint = 0;//C# language data type

有什么相似之处/不同之处?我似乎记得被告知有性能差异?这是真的吗?

4 个答案:

答案 0 :(得分:8)

在C#中,数据类型的语言定义关键字只是各自BCL类型的别名。因此intInt32完全相同,longInt64相同,等等。

一般来说,我认为最好坚持使用语言定义的类型名称。绝对没有性能差异,因为编译器会解析这些别名。

答案 1 :(得分:5)

intSystem.Int32的别名,stringSystem.String的别名。没有区别。

尽管如此,最好使用intstring,而不是系统等效,主要是为了提高可读性。如果您使用StyleCop等源样式检查器,则会强制将所有System.StringSystem.Int32声明替换为较短的等效声明。

答案 2 :(得分:1)

答案 3 :(得分:1)

我过去主张在CLR类型上使用C#语言别名,但是在听说Jeffery Richter在他的书CLR中通过C#提倡CLR类型之后,我改变了我对使用CLR类型的偏好,我的第一手处理新的其他开发人员CLR,能够看到CLR而不是C#是关注的焦点,以及引用和值类型之间的颜色线索有助于快速直观地解析代码。