Tag: pass by value

为什么对象会通过引用自动传递?

在C#的pass-by-reference-pass-by-value-concept的上下文中,我有一个关于深度和浅拷贝的一般性问题: 在C#中,需要显式创建接受指针/引用的方法,以便能够将此类方法传递给该方法。 但是,至少作为参数传递给方法/构造函数的对象的行为与其他对象不同。 如果没有按照此处所述进行额外的克隆,它们似乎总是通过引用传递:http: //zetcode.com/lang/csharp/oopii/ 。 为什么对象会通过引用自动传递? 在这些情况下,强制克隆过程是否有任何特别的好处,而不是更像int,double,boolean等处理对象? 这是代码示例,说明我的意思: using System; public class Entry { public class MyColor { public int r = 0; public int g = 0; public int b = 0; public double a = 1; public MyColor (int r, int g, int b, double a) { this.r = r; this.g = […]