// 2つの値を交換する
using System;
class SwapDemo {
// このメソッドは呼び出し元の実引数を変更する
public void Swap(ref int a, ref int b) {
int t;
t = a;
a = b;
b = t;
}
}
class SwapIt {
static void Main() {
SwapDemo ob = new SwapDemo();
int x = 10, y = 20;
Console.WriteLine("x and y before call: " + x + " " + y);
ob.Swap(ref x, ref y);
Console.WriteLine("x and y after call: " + x + " " + y);
}
}
上の文字のソースは「独習C#」からのコピーです。SwapDemoはメンバー変数がありません。
メソッドのみです。
スクリーンショットはクラスに2つのintを持たせて、メソッドにはSwapとPrintを入れてます。
本ではcall by valueとcall by refの違いの説明でしたが、スクリーンショットの様にすれば
関係ないようにも思いますが。(-_-;)
オブジェクトなので参照で渡されてるんでしょうかね?
※コメント投稿者のブログIDはブログ作成者のみに通知されます