C#中关于声明对象的问题

平时为了方便定义了一个类专门用于连接以及操作数据库,并且类成员全部使用static修饰包括方法.这样我可以在其它类中方便访问其.

我现在的问是如果我不使用static来修饰而是在其它类中去new一个此类的对象(效果是一样的).我想知道上面那种方法好些还是这种方法好些.

这个问题估计答案也是不明确的,我说下个人理解

static是存放在托管代码 栈中的一个指针指向堆中的一个类,static就直接存在该类里面(不需要实例)
不明白就想想常数或者int,bool这样类型声明,因为他们隐式地是静态成员。

而非static的(要先实例)存放,是栈中一个指针指向堆中的那个类,而实例是放在托管堆中的,即类堆中再指向该托管堆的实例。(比静态多了一层,姑且这么理解了)

因此就执行效率来说,static要好,但是也有麻烦,因为当程序开始运行时,Static就分配好了,并且如果对类应用 static 关键字,则该类的所有成员都且必须是静态的。释放要到程序结束时。中间,它一直活着。这样中间就牵扯到了资源的问题。
温馨提示:答案为网友推荐,仅供参考
相似回答