在C#中,使用System.Object代码而不仅仅是object,或者System.String不是string等等有什么区别?或者只是风格问题?
是否有理由说一种形式对另一种形式更有利?
Jon*_*eet 68
string是别名global::System.String.这只是语法糖.在几乎所有情况下,这两者完全可以互换,并且编译代码没有区别.
我个人使用别名作为变量名称等,但我在API中使用CLR类型名称作为名称,例如:
public int ReadInt32() // Good, language-neutral
public int ReadInt() // Bad, assumes C# meaning of "int"
Run Code Online (Sandbox Code Playgroud)
(请注意,返回类型实际上并不是名称 - 它被编码为元数据中的类型,因此不存在混淆.)
我知道的唯一一个可以使用的地方,另一个不能(我知道的)是:
nameof 禁止使用别名