C#,使用带常量的static

本文关键字:常量 static | 更新日期: 2023-09-27 18:21:11

在下面的代码中,Field1和Field2变量之间的区别是什么,它们都可以以静态方式访问。

public static class FieldName
{
    public static const string Field1 = "Field1";
    public const string Field2 = "Field2";
}

谢谢,
Amit

C#,使用带常量的static

error CS0504: The constant 'FieldName.Field1' cannot be marked static

所有常量声明都是隐式静态的,C#规范规定禁止(冗余)包含静态修饰符。我相信这是为了避免读者看到两个常量时可能发生的混淆,一个声明为静态,另一个不声明为静态——他们可以很容易地假设规范的差异意味着语义的差异。

来源:http://blogs.msdn.com/b/csharpfaq/archive/2004/03/12/why-can-t-i-use-code-static-code-and-code-const-code-together.aspx