Object / Object的大写约定
本文关键字:Object 约定 | 更新日期: 2023-09-27 18:11:50
在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()
看起来不对,但这是我从Visual studio得到的建议,当我自动完成Object x = new ...
在我看来,我喜欢(并推荐)在处理实例时使用小写 object
,例如:
object myVar;
object myVar = new object();
object[] myVar = new object[4];
public void someMethod(object arg);
public object someMethod();
//And so on...
和大写 Object
处理类型或类本身时,即静态方法。
bool result = Object.Equals(obj1, obj2);
string formatted = String.Format(text, arg1, arg2, arg3);
与大多数编码风格的答案一样,没有"正确的方法",只有个人意见。尽管我试图用理性的论据来证明我的观点。
我的看法是:
-
System.Object
不是严格意义上的c#,它是一个CLR类型。 -
object
是c#关键字。
所以如果我在写c#,我更喜欢使用c#语法,而不是底层的CLR类型。
另一个主要区别是object
的语法颜色是关键字,而Object
是引用类型。我的偏好是使用关键字的内在,使他们看起来像内置的东西,而不是用户定义的类型。
第三个区别是object
总是表示相同的东西,而您可以定义自己的类型Object
(在与System
不同的名称空间中),这可能更容易导致混淆。
所以总的来说我更喜欢object
。