C# 动态方法和静态方法的区别
2021-03-30 23:25
动态方法与静态方法的区别:
1,使用方法上的区别:
动态方法,在使用时需要先创建实例,才能调用实例方法,而静态方法则不需要,直接使用即可。
示例代码如下:
静态方法不需要实例化类就能调用
class ClassA
{
public static string MethodB()
{
return "Hello World";
}
}
用法:
ClassA.MethodB(); //调用方便
动态的方法在使用前,必须先实例化类
class ClassA
{
public string MethodB()
{
return "Hello World";";
}
}
用法:
ClassA A=new ClassA();
A.MethodB();
2,性能上的区别:
静态方法效率要稍微高一些,但是它会常驻内存,占用内存空间,而动态方法在调用完后会自动释放,节省内存空间。
什么情况下使用动态方法,什么情况下使用静态方法:
1,使用静态方法是有好处的,因为静态方法只维护一份拷贝,所以无论你有多少个实例,内存中都只会有一份拷贝。
2,使用频繁的方法用静态方法,比如数据库操作类,我们就是使用静态方法。使用的少的方法用动态的。因为静态的速度快,但占内存,就像是缓存一样,经常用的数据我们应该应该将它们缓存起来。动态方法的调用速度相对慢些,但调用完后,会立即释放类,节省内存。
用户可以根据自己的需要选择是用动态方法还是静态方法。