我一直习惯用 String 代替 string,用 Int32 代替 int。主要是因为一切都是一个类,所以我喜欢保持一致并像对待其他所有类/对象一样对待所谓的“原语”。
我刚刚看到一篇关于编码标准的文章,其中提到“始终使用 C# 预定义类型而不是系统命名空间中的别名”。
虽然没有说明原因。
这些类型是完全可互换的,并编译为相同的 IL。您的编码标准中应该有一个关键规则 - 如果您正在编辑共享文件,请使用与现有代码相同的样式。没有什么比尝试修复一个样式更改所有其他功能的文件更烦人的了。
所以 - 选择一个并保持一致。
没有任何理由会影响您的应用程序的行为或性能。这是推荐的风格指南 - 与所有风格指南一样,如果您认为合适,您可以忽略它。几乎所有的 OSS 和企业风格政策都会规定您需要使用别名——所以请记住这一点。
使用这两种方法都没有技术上的理由。两者在生成的 IL 方面是相同的。
但是,最大的原因是其他人的一致性和可维护性。使用“string”、“int”、“double”等更受期待,因此更易于维护。
此外,如果您没有 using System;,则始终键入“int”比键入“System.Int32”要好得多...