在 C# 中,小写类型名称是类型名称的别名
System.xxx,例如
stringequals
System.String和
intequals
System.Int32。
为了保持一致性,最佳实践是将这些语言别名用于类型名称而不是它们的框架等效项。所以你做错了。;-)
至于它们都存在的原因,.NET 类型之所以存在,是因为它们是在称为 CTS(通用类型系统)的 .NET 库的独立语言标准中定义的。为什么 C# 定义这些别名超出了我的理解(VB 做了一些非常相似的事情)。我想这两个原因是
- Habit。通过为一些基本类型提供相同的类型名称,让所有这些 C 和 Java 程序员使用 C#。
- Laziness您不必导入
System
命名空间即可使用它们。
编辑由于许多人似乎更喜欢其他符号,让我指出这绝不是不合理的。实际上可以为使用 CTS 类型名称而不是 C# 的关键字制作一个很好的案例,并且其他答案中提供了一些表面上很好的论据。从纯度/风格的角度来看,我可能会同意。
但是,请考虑这是否值得打破有助于跨项目统一代码的完善约定。



