C#の概要3
パラメータ修飾子 out メソッドからの出力用のパラメータにつける。リファレンス渡し。メソッド内で値を設定しなければコンパイルエラー。 ref 値をリファレンス渡しする。メソッド内で値を設定しなくても問題無し。 params 可変長引数。引数をで渡された値を一つの配列にいれてしまう。 out メソッドからの出力を受けとるためのパラメーター (output parameter)として宣言する。メソッド内で値を設定しなければコンパイルエラーになる。値はメソッド外で有功でなければならないのでリファレンス渡しになる。さらに、メソッドに値を渡すときにoutキーワードをつけて渡す必要がある。 サンプル static void Circle(int radius, out int diameter, out double area) { diameter = radius * 2; answer = radius * radius * 3.14; } static void Main() { int diameter; double area; Circle(4, out diameter, out area); Console.WriteLine("Circle radius is 4, then the Circle diameter is {0}, area is {1}", diameter, area); } このキーワードのおかげで複数の値を返すことができる。 ref メソッドに値をリファレンス(参照)渡しする。つまり、値の変更を許可するパラメータ として使える。リファレンスとして渡す値は初期化されていなければならない。また、参照型をrefを使って渡す場合は渡したオブジェクト自体を変更できる。refキーワードもメソッド呼び出し時にrefをつけて値を渡す必要がある。 サンプル static void AreYouReady(ref string str) { str = "OK!" } static void Main(string[] args) { s1 = "Are you ready?"; AreYouReady(ref s1); Console.WriteLine(s1);