C#类中的静态变量static,不同的实例可以修改吗?一个修改的结果在另一个实例中能体现出来吗?
我的意思是:一个把5改成3,另一个实例读出来是5还是3?

解决方案 »

  1.   

    static类型不能生成实例.在编译时分配内存空间.
    在分布式编程中,窗体中的静态变量是共享的.
      

  2.   

    可以,你可以通过类名访问静态变量,并修改。在其它地方就是修改过的值。
    不过一般不要这样做,相当于全局变量。一般这样声明:
    public static readonly Color = ...;
    这样就不能修改了。
    晕,楼上几位怎么都认为不能修改呢?奇怪了。
      

  3.   

    C#类中的静态变量static,不同的实例可以修改吗?
     不同的实例构成不同的对象,对象好像不可以修改静态变量,但是各个对象能够调用这个静态变量一个修改的结果在另一个实例中能体现出来吗?
     如果在类中修改了这个静态变量,则不同的实例也即不同的对象所引用的该静态变量的值也同时改变
      

  4.   

    胡说八道,如果是public的静态成员,任何程序都能调用,何况是自己的实例?
    本类的实例可以调用任何本类的静态成员,无论是public、protected、internal和private的。静态成员就是说在整个程序进程中只保留一份,其生存期是全局的。
      

  5.   

    正确答案来了:public 类型的静态变量在整个应用程序内都可被访问,修改,而且是共享的.
    方法A把该静态变量设成5后其他的代码访问时就是5.
      

  6.   

    呵呵,答错了,是静态变量,偶理解成方法中的VOID了
      

  7.   

    C#类中的静态变量static,不同的实例可以修改吗?一个修改的结果在另一个实例中能体现出来吗?
    不同的实例可以修改,一个修改的结果在另一个实例中不能体现出来我的意思是:一个把5改成3,另一个实例读出来是5还是3?
    这个是不正确的类中的静态变量在类载入内存中时就以经存在了并被初始化了(如果默认的话),它的生命周期伴随着应用程序的结束而结束。不同的实例调用 这个静态变量时,是共享这个静态变量,修改的结果也只能在某个实例中生效,而并不影响到其它的对象。