什么是C#数组的命名约定?

时间:2013-08-06 16:03:35

标签: c#

string[] Names = {};
string[] names = {};

使用大写字母会更好吗?对于数组和其他类型,约定是否相同?

2 个答案:

答案 0 :(得分:3)

你会注意到C#示例和.NET框架命名,一般来说,一切都是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" };
    }
}

另见:

答案 1 :(得分:1)

  

所有这些都有效吗?使用大写字母更好吗?

最后一个(string names[] = {};)无效C#。另外两个在语法方面是正确的。

变量的建议大写取决于用法。方法的局部变量或参数通常用小写字母命名(技术上,camelCase),字段属性大写(技术上,PascalCase)。有关详细信息,请参阅Capitalization Conventions

请注意,这些约定与变量的类型无关,而是它的用法。您处理数组的事实不一定会更改变量的名称 - 至少不会更改变量名称的大小写。 (但是,您可能希望使用一个名称来表明该变量是某种形式的“集合”。)

话虽如此,这纯粹是一种惯例,完全由你来命名。

  

如果最好使用大写字母,这是否意味着数组被视为对象?

大写与变量的处理方式无关 - 只与它们的类型有关。更改大小写可能会向其他开发人员建议该类型是字段或属性,但它实际上不会从语言或使用角度以任何方式更改变量。