有没有理由不在System命名空间中使用别名?

时间:2009-05-20 04:57:32

标签: c# types aliases

我一直习惯使用String而不是string而Int32而不是int。主要是因为一切都是一个类,所以我喜欢保持一致,并像对待其他类/对象一样对待所谓的“原语”。

我刚刚看到一篇关于编码标准的文章,其中提到“始终使用C#预定义类型而不是系统命名空间中的别名。”

虽然没有说明原因。

3 个答案:

答案 0 :(得分:1)

这些类型是完全可互换的,并编译为相同的IL。编码标准中应该有一个关键规则 - 如果您正在编辑共享文件,请使用与现有代码相同的样式。没有什么比尝试修复样式改变其他所有功能的文件更烦人了。

所以 - 选择一个并保持一致。

答案 1 :(得分:0)

没有理由会影响您的应用程序的行为或性能。这是一个推荐的风格指南 - 和所有风格指南一样,如果你认为合适,你可以忽略它。几乎所有的OSS和企业风格政策都会规定您需要使用别名 - 所以请记住这一点。

答案 2 :(得分:0)

使用任一选项都没有技术原因。两者在生成的IL方面都是相同的。

然而,最大的原因是其他人的一致性和可维护性。使用“string”,“int”,“double”等是更期望的,因此更易于维护。

另外,如果你没有使用System;,那么一直输入“int”比“System.Int32”更好......