【C#】静态变量和方法该如何使用?

版权声明:我的博客我做主! https://blog.csdn.net/lk1822791193/article/details/84927735

什么是静态变量?

简单的来说就是:用static修饰的变量,它属于它所在的类所有,而不是具体的某一个对象。

静态变量也被称为全局变量,就是它在程序执行的时候就被初始化,如果你在它初始化或使用的时候,没有给它赋值,系统就会给它一个默认值。

静态方法同理,简单了解一下它的使用规则:

1.静态方法只能访问类的静态成员,不能访问类的非静态成员。

2.非静态方法既可以访问类的静态成员,也可以访问类的非静态成员。

最近在项目中,经常会遇到跨窗体传值的情况。

我们在跨窗体(类)传值的时候,一般会有三种方法:

1.构造函数传值

2.委托事件传值

3.静态变量传值

前两个方法比较适合于单个窗体调用单个窗体的值,但是如果这个数据是很多窗体需要共用的时候,这个时候,我们就需要使用静态变量来帮助我们了。(这个时候,还有一个原因是,我们在窗体A获取的数值,跳转到下一个窗体的时候,可能窗体A已经关闭,此时非静态变量也就会随对象的消而消失。)

现在做项目,不仅要考虑到实现,还要考虑如何提高性能,我们就谈一下static的优点和缺点:

优点:

1.在载入的时候,它也就装入内存了

2.不需要实例对象,直接通过类就可以直接调用它

缺点:

系统的垃圾回收机制是无法回收静态变量的,静态变量会常驻内存中。

上边说了那么多,什么时候才使用它呢?

简单说一下我的理解,如有不足,欢迎补充:

1.静态变量全局唯一:就像一个标志性(flag)的变量

2.牵一发而动全身:它一改变,所有对它使用的类都需要改变

3.静态方法多类调用(可以减少对委托的使用)

小编能力一般,水平有限,只能给大家分享这么多,有什么不足,欢迎大家指出!

猜你喜欢

转载自blog.csdn.net/lk1822791193/article/details/84927735