C#中为啥不能在函数里设置静态变量?

2025-02-25 15:31:51
推荐回答(5个)
回答1:

因为机制的关系。
其实C#这个可以理解为是替代C++中宏的东西,那么定义宏当然不能在函数里定义了。
VB我不是很清楚,但是c#的静态变量是在对象生成的时候分配内存空间的,而不是函数执行的时候。如果你在函数里定义,那么这个变量就需要在函数执行的时候分配内存空间,这是C#不允许的,至于为什么不允许,个人看法可能是因为垃圾回收机制的问题。

回答2:

因为机制的关系,其实C#这个可以理解为是替代C++中宏的东西,那么定义宏当然不能在函数里定义了。
c#的静态变量是在对象生成的时候分配内存空间的,而不是函数执行的时候。如果在函数里定义,那么这个变量就需要在函数执行的时候分配内存空间,这是C#不允许的,至于为什么不允许,个是因为垃圾回收机制的问题。

回答3:

C#中,静态变量是类变量,只能在类中定义。
类变量在类定义的时候就创建了,不需要实例化。
你给出的函数是在实例化的函数。在实例化的函数中不能定义类变量。

回答4:

静态变量的所有者是类,
 Command1_Click()方法的所有者是类的实例化对像

回答5:

只有在静态类中才能用静态方法