gpt4 book ai didi

c#: "System.Object"和 "object"之间的区别

转载 作者:IT王子 更新时间:2023-10-29 03:41:54 24 4
gpt4 key购买 nike

在 C# 中,使用 System.Object 有什么区别吗?在代码中而不仅仅是 object , 或 System.String而不是 string等等?还是只是风格问题?

为什么一种形式比另一种更受欢迎?

最佳答案

stringglobal::System.String 的别名。它只是语法糖。这两者在几乎所有情况下都完全可以互换,并且编译后的代码不会有任何区别。

我个人使用别名作为变量名等,但我使用 CLR 类型名称作为 API 中的名称,例如:

public int ReadInt32() // Good, language-neutral

public int ReadInt() // Bad, assumes C# meaning of "int"

(请注意,返回类型并不是真正的名称 - 它被编码为元数据中的类型,因此不会造成混淆。)

我所知道的唯一可以使用一个而另一个不能(据我所知)的地方是:

  • nameof 禁止使用别名
  • 指定枚举基础底层类型时,只能可以使用别名

关于c#: "System.Object"和 "object"之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1017282/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com