【发布时间】:2014-08-27 22:39:57
【问题描述】:
在c#中,关键字Object和object可以互换使用。
其他基本类型的工作方式相同:String /string, Double / double, ...
是否有使用其中一个或另一个的约定?
以下是推荐的:
object x = new object();
Object x = new Object();
object x = new Object();
怎么样:
object.ReferenceEquals(a,b);
Object.ReferenceEquals(a,b);
我问主要是因为小写 new object() 在我看来是错误的,但这是我在自动完成 Object x = new ... 时从 Visual Studio 得到的建议
【问题讨论】:
-
我知道,但是使用一个别名而不是另一个别名的约定是什么?据推测,这些别名的添加是有原因的。
-
What's the difference between String and string? - 此问题中的前 2 个答案应该足以回答您的问题。
-
如果我不得不冒险猜测一下,添加别名可能只是为了通知您它是“保留”类型,以便您轻松区分 .NET 本机类型和您自己的手动类型类型。至于约定?如果有别名,我会使用它,只是因为我喜欢这种方式:)。
-
我很难从"What's the difference between String and string?" 中提取我的问题的答案,除非答案是“没有这样的约定”?引用的答案主要涉及
System.String,约定部分似乎仅限于“就个人而言,我更喜欢......”。我知道Object和object之间没有功能差异,我只是想知道我什么时候会使用其中一个。 -
@HugoRune 该问题中接受的答案提到了 MSDN 示例中使用的样式以及 StyleCop 强制执行。就我而言,没有正式的、适当的惯例。所以我认为这是你能得到的最好的,其余的取决于个人喜好。至于为什么添加别名,也许它们有助于使 C# 更加与语言无关?
int和long比System.Int32和System.Int64更常见。
标签: c# .net object coding-style naming-conventions