2013-08-06 62 views
-3
string[] Names = {}; 
string[] names = {}; 

使用大寫字母更好嗎?對於數組和其他類型,約定是否相同?什麼是C#數組的命名約定?

+4

-4?糟糕,爲什麼這個問題很糟糕? – jskidd3

+0

一般來說,所有**變量**應該有一個'lowercaseCamelCase'名字。 –

+0

你可以通過自己測試這樣的東西來更好地學習任何編程語言。 –

回答

2

你會在C#示例和.NET Framework命名注意到,在一般情況下,一切都是camelCase

  • 所有變量應該有一個lowercaseCamelCase名。
  • 所有類型classstructeneumdelegate),方法,並性能應該有一個UppercaseCamelCase(又名PascalCase)的名字。

下面是一個例子:

// Types are CamelCase 
class Foo { 

    // Properies are PascalCase 
    public int SomeProperty { get; set; } 

    // *Private* fields are lowerCamelCase 
    private int aField; 

    // By some conventions (I use these) 
    private int m_anotherField;   // "m_" for "member" 
    private static object s_staticLock; // "s_" for "static" 

    // *Public* fields are PascalCase 
    public int DontUsePublicFields;  // In general, don't use these 
    public const int ConstantNumber = 42; 

    // Methods are UpperCase 
    // Parameters and variables are lowerCase 
    public SomeMethod(int myParameter) { 
     int[] localVariable; 

     //string names[] = {};  // Not valid C#! 
     string[] names = new string[] { "Jack", "Jill" }; 
    } 
} 

參見:

+0

你能定義一個「類型」嗎? – jskidd3

+0

'UpperCamelCase' =='PascalCase'在文檔中。這不僅僅是類型,字段和屬性都應該使用PascalCase。 –

+3

@JoelKidd他確實提出了一個有效的觀點。你會發現在StackOverflow上,我們作爲一個社區,對你自己的研究給予了重大的**重視,並且基本上試圖將SO用作「最後的機會,在互聯網上的其他任何地方都找不到它,所以讓我們弄清楚,並* *把它放在互聯網上**「種類的資源。這就是說,我很容易就擴大使用「類型」一詞。 –

1

這些都是有效的嗎?使用大寫字母更好嗎?

最後一個(string names[] = {};)是無效的C#。其他兩個在語法上是正確的。

變量的建議大小取決於使用情況。局部變量或方法的參數通常以小寫字母命名(技術上,camelCase),字段屬性將是大寫(技術上講,PascalCase)。有關詳細信息,請參見Capitalization Conventions

請注意,這些約定與變量的類型無關,而是它的用法。你處理數組的事實不一定會改變變量的名字 - 至少不是變量名的大寫字母。 (但是,您可能想要使用一個名稱,表明該變量是某種形式的「集合」。)

這就是說,這純粹是一種慣例,完全取決於您命名您的方式使用。

如果最好使用大寫字母,這是否意味着數組被視爲對象?

大寫字母與變量的處理方式無關 - 只有它們的類型。更改大小寫可能會向其他開發人員暗示該類型是字段或屬性,但實際上並未以任何方式從語言或使用角度更改該變量。