📅  最后修改于: 2023-12-03 15:13:52.461000             🧑  作者: Mango
在C#中,获取二维数组的列可以使用简单的for循环或LINQ查询来实现。
以下代码演示了如何使用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查询获取一个二维数组的指定列:
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查询,获取二维数组的列都非常简单。可以根据具体情况选择使用哪种方法。