内置类型,何时(不)使用?

Adr*_*ong 7 .net c# vb.net

C#和VB.NET带有映射到CLR类型的内置类型.例如:int(C#)和Integer(VB)映射到System.Int32,long(C#)和Long(VB)映射到System.Int64.决定何时使用内置类型或不使用它们的最佳实践是什么(使用System.*structs/classes代替)?

Ree*_*sey 37

我几乎总是使用内置别名,例如int/short/long.它们更易于阅读,并且不需要您导入系统或在任何地方键入System.Int32等.

语言清楚地定义了它们,并赋予它们特定的含义,所以我没有看到任何伤害.但是,这是100%的个人选择.

话虽如此 - 我明确使用Int32,Int16等的地方,就是我正在处理二进制存储或传输,尤其是自定义二进制格式.在这种情况下,让每个成员进入和退出文件的显式位大小使代码更易读和易懂,IMO.


Bin*_*ier 15

语言类型(例如string,int,char)只是CLR类型的别名(System.String,System.Int32,System.Char).

它们是可以互换的,没有必要优先选择其中一个.

编辑

海报要求在两者之间进行选择时提供一些帮助.

我个人倾向于选择C#语言类型(int,string,char等),因为它们涉及较少的输入 - 我想我只是懒惰:)


mqp*_*mqp 14

唯一一次我明确地使用" System.XYZ"优先于内置类型关键字是我需要一个特定大小的整数类型,我希望任何人都能清楚地阅读我的代码(例如,我可能会使用Int32而不是intif有问题的整数实际上是4个8位字段打包在一起.)


Dan*_*ner 5

我总是使用这些System.*类型,因为它们看起来在其他类之间更加一致 - 大写首字母和相同的语法高亮.但这只是个人偏好,只是一个审美问题.