c# - 为什么应该使用 C# 预定义类型而不是系统命名空间中的别名

标签 c#

在 Juval Lowy 的“C# 编码标准”中,可从 www.idesign.net 获得,建议使用 C# 预定义类型而不是 System 命名空间中的别名,例如:

  • object 不是 Object
  • string 不是 String
  • int 不是 Int32

这样做有什么好处?它们有何不同?我在自己的编码中遵循了这个建议,但不知道它们有何不同。

最佳答案

它们意外不同的主要时间是当某人愚蠢到调用类型(或属性/字段/等)String(例如)时,因为string 始终 指的是 global::System.String,其中 String 可能是 YourNamespace.String

最接近 C# 别名的是 @string,它往往像拇指一样突出。

我更喜欢 C# 别名。

顺便说一句,这里有一个有趣的方式来惹恼那些过度使用 dynamic 的人:

using dynamic = System.Object;

关于c# - 为什么应该使用 C# 预定义类型而不是系统命名空间中的别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3730756/

相关文章:

c# - ModelStateDictionairy 格式错误的 json Web api

c# - EventLogEntry.TimeGenerated 返回完全错误的日期

C#:如何获取使用 Informix 插入的最后一行的 ID 号

c# - 短时间使用 Thread.Sleep 的问题

c# - SetColorFilter 在 Xamarin.Android 中不起作用

c# - 如何声明具有不同 "generic"返回类型的泛型方法

c# - WP7 : Why does a ListBox. ItemsPanel 打破了我的 ElementName 数据绑定(bind)?

c# - GetHashCode() 经常重写冲突方式

c# - 访问闭包中的变量

c# - 如何为 IEnumerable.Any 编写 Linq.Expression