C#基本

[C#] 引数を参照渡しにする(ref)

2021年9月20日

引数を参照渡しにするには、refキーワードを使用します。

構文

構文

メソッド名(ref <型> <引数名>...)

引数定義時に refキーワードを指定します。

サンプル

例)引数を参照渡しにする

例として、以下のメソッドを呼び出してみます。


//引数x + 引数yの結果を、引数ansにセットするメソッド
public void plus(int x, int y, ref int ans)
{
  ans = x + y;
}

//変数aを参照渡しする
int a = 0;
plus(2, 3, ref a);

//結果を表示する
Console.WriteLine(a);

結果

5

呼び出す時もrefキーワードが必要です。

備考

  • C#では引数に何も付けない場合は値渡しになります。
  • 参照渡しはよく考えないで使用すると想定外の所で値が書き換えられてしまうなどバグの原因となるデメリットがありますが、メソッドから複数の値を返したい場合などに便利に使えます。
  • また、メモリを節約できるというメリットもあります。
  • C#ではメソッドから複数の値をreturnする仕組みもあります。詳しくは以下関連記事をご覧ください。

関連記事

-C#基本
-