簡體   English   中英

對象/對象的大寫約定

[英]Capitalisation conventions for Object / object

在c#中,關鍵字Objectobject可以互換使用。
其他基本類型的工作方式相同: String / stringDouble / 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得到的建議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

對於任何編碼風格,我建議的主要主題是保持一致遵循最簡單的規則 ,因此,我建議不要在不同的情況下使用不同的大小寫。 選擇一個並堅持下去。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM