静态与实例的区别 用了很久C#,就是不明白静态与实例的区别,请教高手帮忙解释一下。谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 静态不属于类实例,不需要创建实例即可访问,而且是惟一的,比如class My{public static int i=100;}访问My.i;实例class My{public int i = 100;}访问My my= new My();my.i; 实例new 一个,就是一个new的。 静态时直接存在内存的,直接调用就可以了,不静态需要new之后才能调用的。, 静态的东西可以直接使用,不需要实例化一个对象后,通过那个对象点出里面的东西。实例恰好相反,需要使用New关键字创建 一个新的实例后使用。 NEW 一个就要分配内存,再实例一个也要分配内存,这样是不是没有静态的好 分静态库 和动态库静态库.LIB 包含源程序和EXE在一个程序之中,直接使用子函数即可,其中的类使用,NEW 来实例化为具体使用的值或函数等,包含在程序内,当然稳定性是最好的,但由于一开始就在EXE一起,所以耗费内存最大。一般把常变和调用多的,写在EXE一起,这属于常用基础的办法。为了多语言之间,或很多编程者之间共同完成协作编程,又出现了动态库又名DLL,有了DLL我们项目完成和改动量就小很多了,对于DLL的调用,则和制作有关,。net的DLL是指令集,可以反汇编出来,毫无安全性保障,如果制作时使用的是静态共享声明的DLL,则调用时无需实例化,当EXE程序运行时,相关DLL中的段即加入内存,直到程序结束,这种方式的,速度稍慢,也比较耗内存,调用简单可以直接使用。如果使用动态声明的DLL,则需要使用时,new实例化一下到具体EXE中用,这个实例化意思是,不同EXE进程间虽然可能同是调用该DLL,但数据完全不会相关的,默认是不共享内存的,除非特别处理.由于是使用才调入内存,所以节省内存,但损耗了速度和稳定性,不过对程序升级有利,有时升级,只是个别DLL,而EXE不变。总之和你使用的需要相关,都可以的,只要在你认为的满足速度,稳定,内存占用范围内,如果你需要成员间互相合作那么DLL合适,如果自己一个人,和速度要求高,做成单EXE吧,我个人比较喜欢设计过程中使用DLL分功能,且喜欢制作可静态调用的DLL,方便简单可以直接调用,用对象浏览器也可看到一般函数也是这样静态共享声明,当某个条件达不到时比如速度,内存,我才会去改成别的方式,也给你这个建议哦。不知道见解对不,我只是这样认为吧,供你有选择的参考。 关于插入数据库的操作 高分求助 C#问题 控件如何点击变色? gridcontrol 合计行 GDI+图片移动的问题 将项目从A电脑复制到B电脑编辑要复制哪些文件? 自己创建的类,如何创建二维5*6的类数组? (Winform)怎样设置DataGrid某一个单元格内的Combobox控件为可用或不可用呢? 谁有 Microsoft 用户体验 关于用timer定时刷新的问题 求一正则表达式 winform数据提交问题
class My
{
public static int i=100;
}
访问
My.i;实例
class My
{
public int i = 100;
}
访问
My my= new My();
my.i;
实例恰好相反,需要使用New关键字创建 一个新的实例后使用。
静态库.LIB 包含源程序和EXE在一个程序之中,直接使用子函数即可,其中的类使用,NEW 来实例化为
具体使用的值或函数等,包含在程序内,当然稳定性是最好的,但由于一开始就在EXE一起,所以耗费内存最大。一般把常变和调用多的,写在EXE一起,这属于常用基础的办法。
为了多语言之间,或很多编程者之间共同完成协作编程,又出现了动态库又名DLL,有了DLL我们项目完成
和改动量就小很多了,对于DLL的调用,则和制作有关,。net的DLL是指令集,可以反汇编出来,毫无安全性
保障,如果制作时使用的是静态共享声明的DLL,则调用时无需实例化,当EXE程序运行时,相关DLL中的段即加入内存,直到程序结束,这种方式的,速度稍慢,也比较耗内存,调用简单可以直接使用。
如果使用动态声明的DLL,则需要使用时,new实例化一下到具体EXE中用,这个实例化意思是,不同EXE进程间
虽然可能同是调用该DLL,但数据完全不会相关的,默认是不共享内存的,除非特别处理.由于是使用才调入内存,所以节省内存,但损耗了速度和稳定性,不过对程序升级有利,有时升级,只是个别DLL,而EXE不变。
总之和你使用的需要相关,都可以的,只要在你认为的满足速度,稳定,内存占用范围内,
如果你需要成员间互相合作那么DLL合适,如果自己一个人,和速度要求高,做成单EXE吧,
我个人比较喜欢设计过程中使用DLL分功能,且喜欢制作可静态调用的DLL,方便简单可以直接调用,用对象浏览器也可看到一般函数也是这样静态共享声明,当某个条件达不到时比如速度,内存,我才会去改成别的方式,也给你这个建议哦。
不知道见解对不,我只是这样认为吧,供你有选择的参考。