2011-01-31 52 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

相关问题