📜  C# 获取二维数组的列 - C# (1)

📅  最后修改于: 2023-12-03 15:13:52.461000             🧑  作者: Mango

C# 获取二维数组的列

在C#中,获取二维数组的列可以使用简单的for循环或LINQ查询来实现。

使用for循环获取数组列

以下代码演示了如何使用for循环获取一个二维数组的指定列:

int[,] myArray = new int[3, 3] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
int[] myColumn = new int[3];

for (int i = 0; i < myArray.GetLength(0); i++)
{
    myColumn[i] = myArray[i, 1]; // 获取第二列
}

// 输出第二列
for (int i = 0; i < myColumn.Length; i++)
{
    Console.Write(myColumn[i] + " "); // 输出:2 5 8
}

首先创建一个3x3的二维数组myArray,并将其初始化为:

1 2 3
4 5 6
7 8 9

然后创建一个大小为3的数组myColumn,用于存储第二列的值。使用for循环遍历myArray,将第二列的值存储在myColumn数组中。最后再次使用for循环输出myColumn数组的值。

使用LINQ查询获取数组列

以下代码演示了如何使用LINQ查询获取一个二维数组的指定列:

int[,] myArray = new int[3, 3] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };

int[] myColumn = Enumerable.Range(0, myArray.GetLength(0)) // 生成0到myArray.GetLength(0)-1的序列
    .Select(x => myArray[x, 1]) // 获取第二列的值
    .ToArray(); // 转换为数组

// 输出第二列
for (int i = 0; i < myColumn.Length; i++)
{
    Console.Write(myColumn[i] + " "); // 输出:2 5 8
}

该代码使用了一个名为Enumerable.Range的静态方法来生成从0到myArray.GetLength(0)-1的序列,然后使用Select方法来获取第二列的值,并使用ToArray方法将结果转换为数组。最后使用for循环输出myColumn数组的值。

无论是使用for循环还是LINQ查询,获取二维数组的列都非常简单。可以根据具体情况选择使用哪种方法。