没有为什么,我只是想知道在C#中static变量为什么不能定义在函数中的原因比如;static定义的变量是在那里分配的内存?是在堆栈中吗?还是堆中?函数中,常量是可以定义的,这有为啥呢?

解决方案 »

  1.   

    我想static变量是第一次声明的时候才是实例,而在每次用它的时候都仅仅是引用,而不是将它实例化,对吧?
      

  2.   

    C#不再是c++,不用再兼容c的东西,在c中,在函数中使用static可以定义一个静态变量,在c#中已经没有静态变量这一东西,相应static这种用法肯定是没了。可以将需要的静态变量作为相应类的静态成员达到同样的效果。
      

  3.   

    powercharlie() 说:"可以将需要的静态变量作为相应类的静态成员达到同样的效果。"肯定是达不到同样效果了,却也只能将就着用了
      

  4.   

    使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员。
    static 修饰符可用于字段、方法、属性、运算符和构造函数,但不能用于索引器、析构函数和类型。
    这是framework文档里的,
    注意“属于类型本身”,我想,第一句应该可以说明一点问题。共同学习。
      

  5.   

    TO dahuzizyd(你就是我心中的女神) 
    嗯,也许,这充分体现了面向对象的思想吧!