C#では、デフォルトで、関数に渡されるパラメーターはすべてコピーによって行われることを知っています。つまり、関数内にパラメーターのローカルコピーがあります。しかし、オブジェクトがパラメーターとして別のクラスに渡される場合はどうでしょうか。
次のようなシナリオは、参照または値によって渡されますか?
class MyClass {
private Object localObj;
public void SetObject(Object obj) {
localObj = obj;
}
}
void Main() {
Object someTestObj = new Object();
someTestObj.name = "My Name";
MyClass cls = New MyClass();
cls.SetObject(someTesetObj);
}
この場合、クラス変数は、ドライバークラスで作成されたlocalObj
ものと同じコピーを持ちますか?または、2つの変数が異なるオブジェクトインスタンスを指しているのでしょうか?someTestObj
Main