引数の参照渡し
引数の参照渡し (C# によるプログラミング入門)
http://ufcpp.net/study/csharp/sp_ref.html
概要、値渡し、参照渡し、出力引数
ref, outキーワードを使うと、参照を渡せる。
# 参照渡し(ref): メソッド内での値の書き換えの影響が呼び出し元に伝搬する。
# out: 特殊な参照渡し。戻り値以外にも値を返したいとき(複数の値を返したいとか)に使う。
値渡し(call by value)
コピーを渡すので、メソッド内で書き換えが起きても、コピー元は変わらん。
注意点として、参照型の値渡しでも、同じこと。
参照渡し(call by reference)
コピー元も変わる。
メソッドの呼び出し側にもrefをつける必要があることに注意だ。
出力引数
メソッド内で変数を初期化する予定である場合
static void Test(out int a) { a = 10; // out を使った場合、メソッド内で必ず値を代入しなければならない }
ちゃんと忘れず初期化しないと駄目だ!