这个问题估计答案也是不明确的,我说下个人理解
static是存放在托管代码 栈中的一个指针指向堆中的一个类,static就直接存在该类里面(不需要实例)
不明白就想想常数或者int,bool这样类型声明,因为他们隐式地是静态成员。
而非static的(要先实例)存放,是栈中一个指针指向堆中的那个类,而实例是放在托管堆中的,即类堆中再指向该托管堆的实例。(比静态多了一层,姑且这么理解了)
因此就执行效率来说,static要好,但是也有麻烦,因为当程序开始运行时,Static就分配好了,并且如果对类应用 static 关键字,则该类的所有成员都且必须是静态的。释放要到程序结束时。中间,它一直活着。这样中间就牵扯到了资源的问题。
温馨提示:答案为网友推荐,仅供参考