C#で2次元リストから最大値を取得する方法


C#で2次元リストから最大値を取得する方法について説明します。以下にシンプルで簡単な方法といくつかのコード例を示します。

  1. シンプルな方法: 最初に、2次元リストの最初の要素を仮の最大値として設定します。次に、ネストされたループを使用して、各要素をチェックし、最大値を更新します。最後に、最大値を返します。
List<List<int>> matrix = new List<List<int>>()
{
    new List<int>(){1, 2, 3},
    new List<int>(){4, 5, 6},
    new List<int>(){7, 8, 9}
};
int max = matrix[0][0]; // 最初の要素を仮の最大値として設定
foreach (List<int> row in matrix)
{
    foreach (int element in row)
    {
        if (element > max)
        {
            max = element; // 最大値を更新
        }
    }
}
Console.WriteLine("最大値: " + max);
  1. LINQを使用する方法: LINQ(Language Integrated Query)を使用すると、簡潔なコードで最大値を取得できます。SelectManyメソッドを使用して2次元リストを1次元に変換し、Maxメソッドを使用して最大値を取得します。
List<List<int>> matrix = new List<List<int>>()
{
    new List<int>(){1, 2, 3},
    new List<int>(){4, 5, 6},
    new List<int>(){7, 8, 9}
};
int max = matrix.SelectMany(row => row).Max();
Console.WriteLine("最大値: " + max);

これらの方法を使用すると、C#で2次元リストから最大値を簡単に取得できます。適切な方法を選択して、自分の要件に合わせて使用してください。