C#基本

[C#] メソッドの戻り値に複数の値を返す

2021年4月23日

C#ではメソッドの戻り値に複数の値を返すことができます。

サンプル

例)複数の値を返すメソッド

//引数aとbを受け取り、a*bとa÷bの結果を返すメソッド
public static (int multiplication, double division) CalcMulDiv(int a, int b)
{
  int x = a * b;
  double y = (double)a / (double)b;

  return (x, y);
}

上記メソッドの使用例です。

//Calcを呼び出す
var result = CalcMulDiv(3, 2);

//結果を出力する
Debug.WriteLine("3x2=" + result.multiplication);
Debug.WriteLine("3/2=" + result.division);

このような値の取り方でもOKです。

//Calcを呼び出す
var (multiplication, division) = CalcMulDiv(3, 2);

//結果を出力する
Debug.WriteLine("3x2=" + multiplication);
Debug.WriteLine("3/2=" + division);

結果

3x2=6
3/2=1.5

備考

  • この値を複数返す仕組みの事をValueTuple(バリュータプル)と呼びます。
  • ValueTupleはC#8.0から導入された機能です。

関連記事

-C#基本
-