static内部只能出现static变量和其他static方法,而且static方法中还不能使用this等关键字,因为它是属于整个类。
2)静态方法效率上要比实例化高,静态方法的缺点是不自动进行销毁,而实例化的则可以做销毁。
3)静态方法和静态变量创建后始终使用同一块内存,而使用实例的方式会创建多个内存。
4)那么在程序中什么地方可以利用静态字段和静态构造方法,通常适用于于一些不会经常变化而又频繁使用的数据,比如连接字符串,配置信息等,当满足上面所说的两点时,进行一次读取,以后就可以方便的使用了,同时也节约了托管资源,因为对于静态成员,一个静态字段只标识一个存储位置。对一个类无论创建了多少个实例,它的静态字段永远都只有一个副本。
静态成员存在于内存,非静态成员需要实例化才会分配内存,所以静态成员不能访问非静态的成员。因为静态成员存在于内存,所以非静态成员可以直接访问类中静态的成员。公用的处理函数,使用静态方法应该没有问题,牵涉到数据共享,静态变量的函数要多考虑,静态变量要小心使用。
静态方法:
原理就是共享代码段;
共享代码段不会产生任何问题;
因为代码段都是给CPU作为"读取"用的,除非你进行恶意"修改"运行时的代码段;
所以静态方法是可以放心使用的;
静态变量:
原理就是共享数据段;
只要没有进行"写入"操作就不会产生问题,但是数据通常都是用于读和写,所以静态变量要注意使用;
下面是一个使用静态方法的简单例子:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int i = MyClass.Add(7, 11); //调用静态方法 Console.WriteLine(i); Console.ReadKey(); } } class MyClass { public static int Add(int x, int y) { return x + y; } } }
希望本文所述对大家C#程序设计的学习有所帮助。