2011-01-31 49 views
0

我是一名初級開發人員,我不確定下面的示例代碼是否是一種好的做法。我想通過將當前類實例作爲方法的參數傳遞來了解是否存在性能影響。還有什麼可以通過傳遞給幾種方法的性能影響?請告知下面的代碼。將繼承類作爲參數傳遞給使用此關鍵字的方法時,如何分配內存?

Class X: Y 
{ 

    Z myObject = new Z(); 
    myObject.MethodA((Y)this); 
} 


Class Z 
{ 

    MethodA(Y y) 
    { 
    y.Mystream = Write Element 
    MethodB(ref y) 
    MethodC(ref y) 

    } 
    MethodB(ref Y y) 
    { 
    y.Mystream = Write Element 

    } 
} 


Class Y 
{ 
    Public XMLTextWriter Mystream = null; 
} 

回答

2

在第一種情況下(MethodA(this)),引用的副本按值傳遞給方法。這是非常快的。我保證它不是你應用程序中的瓶頸。

在第二種情況下(MethodB(ref y)),引用的存儲位置傳遞給該方法。這是非常快的。我保證它不是你應用程序中的瓶頸。

+0

Whaoo很高興知道。我不知道這個參考的副本是通過值傳遞的,因爲這是通過的感謝你 – user596342 2011-01-31 05:27:40

相關問題