C#中为什么不能再方法里定义静态变量(Static)

c#的静态变量是在对象生成的时候分配内存空间的,而不是函数执行的时候。

如果在函数里定义,那么这个变量就需要在函数执行的时候分配内存空间,这是C#不允许的,至于为什么不允许,个是因为垃圾回收机制的问题。

class   Studetn

{

     static string Name;

     public string GetName()

     {

          

     } 

   以上是正确的

    public static string  UserName()

    {

                static string _name;//错误的

    }

}

 

posted on 2016-01-22 14:33  刘广法01  阅读(1815)  评论(0编辑  收藏  举报