PUBLIC加了这个就是全局常量呀

解决方案 »

  1.   

    之所以称为静态常量,是因为访问时像静态成员一样访问,即通过:类名.MAX_VALUE进行访问。不能先对类实例化一个对象,通过对象名.MAX_VALUE访问。
      public表示在类外允许访问,即在其它类中也可以访问这个变量。C++对结构和类成员都可以。
      

  2.   

    加了Public,是表示这个成员是全局的,所有对象都可以访问它
      

  3.   

    之所以称为静态常量,是因为访问时像静态成员一样访问,即通过:类名.MAX_VALUE进行访问。不能先对类实例化一个对象,通过对象名.MAX_VALUE访问。这个解释很正确,常量是属于类的,不属于对象,而且是编译的时候值就确定了
      

  4.   

    const不能和static结合一起使用啊
      

  5.   

    public static readonly int MAX_VALUE = 10; 就对了
    看看这个,讲的挺详细
    http://blog.csdn.net/allenlooplee/archive/2004/10/21/146129.aspx
      

  6.   

    用const就不能用static
    const是定义常数值
      

  7.   

    常量一定是静态的,所以static一定要省略。
      

  8.   

    const可用于修饰class的field或者一个局部变量(local variable);而readonly仅仅用于修饰class的field。 
    const常量的值必定在编译时就已明确并且恒定的;而readonly常量却有一点不同,那就是其值可以在运行时编译,当然,它也必须遵守作为常量的约束,那就是值必须恒定不变。 
    const常量必须在声明的同时对其进行赋值,并且确保该值在编译时可确定并恒定;而readonly常量则可以根据情况选择在声明的同时对其赋予一个编译时确定并恒定的值,或者将其值的初始化工作交给实例构造函数(instant constructor)完成。如:public readonly string m_Now = DateTime.Now.ToString();,m_Now会随着运行时实际情况变化而变化。 
    const常量属于类级别(class level)而不是实例对象级别(instant object level),并且它不能跟static结合一起使用,该常量的值将由整个类的所有实例对象共同分享(详细论述参见后面的Re区域)。 
    readonly常量既可以是类级别也可以是实例对象级别的,这取决于它的声明以及初始化工作怎么实施。readonly可以与static结合使用,用于指定该常量属于类级别,并且把初始化工作交由静态构造函数(static constructor)完成(有关如何把readonly常量声明为类级别或实例对象级别的论述清参见后面的Re区域) 。 
    能被const修饰声明为常量的类型必须是以下的基元类型(primitive type):sbyte, byte, short, ushort, int, uint, long, ulong, char, float, double, float, bool, decimal, string。 
    object, 数组(Array)和结构(struct)不能被声明为const常量。 
    一般情况下,引用类型是不能被声明为const常量的,不过有一个例外:string。该引用类型const常量的值可以有两种情况,string或null。其实,string虽然是引用类型,但是.NET却对它特别处理,这种处理叫做字符串恒定性(immutable),使得string的值具有只读特性。有关字符串恒定性的内容,可以参考《Microsoft .NET框架程序设计(修订版)》。