C#中为什么不能再方法里定义静态变量(Static)
c#的静态变量是在对象生成的时候分配内存空间的,而不是函数执行的时候。
如果在函数里定义,那么这个变量就需要在函数执行的时候分配内存空间,这是C#不允许的,至于为什么不允许,个是因为垃圾回收机制的问题。
class Studetn
{
static string Name;
public string GetName()
{
}
以上是正确的
public static string UserName()
{
static string _name;//错误的
}
}