1. 程式人生 > >C# 動態方法和靜態方法的區別

C# 動態方法和靜態方法的區別

內存 法則 靜態 操作類 ret 我們 數據庫操作類 body method

C# 動態方法和靜態方法的區別 (轉)

動態方法與靜態方法的區別:

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,使用頻繁的方法用靜態方法,比如數據庫操作類,我們就是使用靜態方法。使用的少的方法用動態的。因為靜態的速度快,但占內存,就像是緩存一樣,經常用的數據我們應該應該將它們緩存起來。動態方法的調用速度相對慢些,但調用完後,會立即釋放類,節省內存。

用戶可以根據自己的需要選擇是用動態方法還是靜態方法。

C# 動態方法和靜態方法的區別