代码之家  ›  专栏  ›  技术社区  ›  Razor

是否有任何理由不在系统命名空间中使用别名?

  •  0
  • Razor  · 技术社区  · 15 年前

    我一直习惯用字符串代替字符串,用int32代替int。主要是因为一切都是一个类,所以我喜欢保持一致,像对待其他类/对象一样对待所谓的“原语”。

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

    但没有说明原因。

    3 回复  |  直到 15 年前
        1
  •  1
  •   Gary.Ray    15 年前

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

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

        2
  •  0
  •   Reed Copsey    15 年前

    这两种选择都没有技术上的原因。两者在生成的IL方面是相同的。

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

    另外,如果您没有一个正在使用的系统;,那么在任何时候输入“int”比“system.int32”更好…

        3
  •  0
  •   Jonathan C Dickinson    15 年前

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