C#のタプルで複数の統計値を返す
このレッスンでは、タプルを使って、最小値、最大値、平均値を一度に返すメソッドを書きます。
はじめに
メソッドが互いに関連するいくつかの値を返したいとき、タプルはクラスを増やさずに済むいちばん簡単な方法です。さらにタプルを分解(deconstruct)して、結果を受け取ると同時に各値を別々の変数に代入することもできます。
Statsメソッドは、Min、Max、Averageという名前の3つの値を持つタプルを返します。var (min, max, average) = Stats(...)はタプルを3つの別々の変数に分解します。書式{average:F1}は平均値を小数点以下1桁で表示するので、結果は2, 8, 5.0です。
実行できる C# の例
C#
Program.cs
using System;
using System.Linq;
class Program
{
static (int Min, int Max, double Average) Stats(int[] values)
=> (values.Min(), values.Max(), values.Average());
static void Main()
{
var (min, max, average) = Stats(new[] { 2, 5, 8 });
Console.WriteLine($"{min}, {max}, {average:F1}");
}
}
2, 8, 5.0デバッガーで練習する
大事な代入や条件にブレークポイントを置いて Debug を押し、次の行に進む前にローカル変数の値を確かめましょう。
チャレンジで練習する
このレッスンの内容を使って実際の問題を解きましょう。各チャレンジはブラウザで動き、すぐにテストされ、AI のレビューも受けられます。
- Min and Max Together Find the smallest and largest value in one pass. 簡単
- リストの中央値 リストをソートした後の中央の値を求めてください。 簡単