C#で2次元配列の列を取得する方法


  1. インデックスを指定して列を取得する方法:
int[,] array = new int[,]
{
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}
};
int columnToGet = 1; // 取得したい列のインデックス
int[] column = new int[array.GetLength(0)]; // 列の要素を格納する配列
for (int i = 0; i < array.GetLength(0); i++)
{
    column[i] = array[i, columnToGet];
}
// 取得した列を表示する
foreach (int value in column)
{
    Console.WriteLine(value);
}
  1. LINQを使用して列を取得する方法:
int[,] array = new int[,]
{
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}
};
int columnToGet = 1; // 取得したい列のインデックス
int[] column = Enumerable.Range(0, array.GetLength(0))
    .Select(i => array[i, columnToGet])
    .ToArray();
// 取得した列を表示する
foreach (int value in column)
{
    Console.WriteLine(value);
}