我正在查看iDesign c#编码标准,并且遇到了一个未解释但很好奇的规则:
始终使用C#预定义类型而不是系统中的别名 命名空间。例如:
object NOT Object string NOT String int NOT Int32
根据我的个人经验,我倾向于使用预定义的类型,来自更多的C背景,但我很好奇为什么这是一个规则。我能想到的唯一理由是,正如“标准”这个名称所暗示的那样,它只是一种说法使用这种风格的方式,而不是那种方式,这有助于程序员将两者混合在一起(字符串myString = String。空)。
我还没有看到其他原因吗?
谢谢!
答案 0 :(得分:2)
从嵌入式背景中,使用Int32(而不是int)意味着有人专门编写了代码,意图是用32位表示整数值,因此在将来可能扩展或缩小大小的代码中必须小心。
所以,在C#中,如果我使用的是一个整数,我没有特别的理由来指定位大小,我会使用int。未来的程序员可以决定他们想要一个int64而不会破坏东西(应该总是检查减小的位大小)。
对于object / Object和String / string,我指出的一些指导原则是在引用类时使用字符串或对象和String / Object。
string cat = "meow";
boolean gotCat = String.IsNullOrEmpty(cat);
答案 1 :(得分:1)
编码标准的一个关键原因是一致性。 通过强制执行此标准,您可以确保代码一致。
我认为除此之外没有任何理由。在性能方面,字符串和字符串之间没有区别。
我也同意Kirk,并且人们可能会认为int和Int32是不同的,并尝试在它们之间施放。