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);
//結果を出力する
Console.WriteLine("3x2=" + result.multiplication);
Console.WriteLine("3/2=" + result.division);
このような値の取り方でもOKです。
//Calcを呼び出す
var (multiplication, division) = CalcMulDiv(3, 2);
//結果を出力する
Console.WriteLine("3x2=" + multiplication);
Console.WriteLine("3/2=" + division);
結果
3x2=6
3/2=1.5
備考
- この値を複数返す仕組みの事をValueTuple(バリュータプル)と呼びます。
- ValueTupleはC#8.0から導入された機能です。