08/09/10 12:09:11
>>416
× クラスのメンバに値型が含まれる場合→インスタンスがコピーされアドレスが渡される
○ クラスのメンバに値型が含まれる場合→インスタンスを保持している変数のアドレスが渡される
// 例
class Hoge {
private string msg;
Hoge(string s) {
msg = s;
}
public override string ToString() {
return msg;
}
static void foo(ref Hoge fuga) {
// Main関数のhogeが指しているインスタンスが別のものになる。
fuga = new Hoge("Foo");
}
static void Main(string[] args) {
Hoge hoge = new Hoge("Hello");
Console.WriteLine(hoge.ToString());
foo(ref hoge);
Console.WriteLine(hoge.ToString());
}
}