C#二维list的行数和列数
时间: 2023-08-14 08:06:23 浏览: 232
获取二维 List 的行数可以使用 `Count` 属性,获取列数可以通过访问任意一行的 `Count` 属性来获取。例如,假设我们有一个名为 `matrix` 的二维 List,可以通过以下方式获取行数和列数:
```csharp
int rows = matrix.Count; // 获取行数
int cols = matrix[0].Count; // 获取列数
```
需要注意的是,如果二维 List 中的每一行的列数不一致,那么上述代码可能会抛出异常或者得到错误的结果。在这种情况下,应该先检查每一行的列数是否相同。
相关问题
C# 二维集合 中元素按列求和
在C#中,如果你有一个二维集合(例如二维数组或`List<List<int>>`),并且你想要按列求和,可以使用循环遍历每一列的元素并进行累加。以下是一个简单的示例代码:
```csharp
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
// 定义一个二维集合
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 rowCount = matrix.Count;
int colCount = matrix[0].Count;
// 创建一个列表来存储每列的和
List<int> columnSums = new List<int>(colCount);
for (int j = 0; j < colCount; j++)
{
int sum = 0;
for (int i = 0; i < rowCount; i++)
{
sum += matrix[i][j];
}
columnSums.Add(sum);
}
// 输出每列的和
for (int j = 0; j < colCount; j++)
{
Console.WriteLine($"Column {j}: {columnSums[j]}");
}
}
}
```
在这个例子中,我们首先定义了一个二维集合`matrix`,然后通过双层循环计算每一列的和,并将结果存储在`columnSums`列表中。最后,我们输出每一列的和。
C#List<List<string>>转成二维数组
将`List<List<string>>`转换为二维数组可以使用循环遍历,将内部的List<string>`转换为一维数组,再将这些一维数组添加到二维数组中。以下是一个示例代码:
```csharp
List<List<string>> data = new List<List<string>>
{
new List<string> {"A1", "B1", "C1"},
new List<string> {"A2", "B2", "C2"},
new List<string> {"A3", "B3", "C3"},
};
// 获取二维数组的行数和列数
int rowCount = data.Count;
int columnCount = data[0].Count;
// 初始化二维数组
string[,] array = new string[rowCount, columnCount];
// 遍历List,将每个内部的List<string>转换为一维数组,再添加到二维数组中
for (int i = 0; i < rowCount; i++)
{
for (int j = 0; j < columnCount; j++)
{
array[i, j] = data[i][j];
}
}
```
在这个例子中,我们首先获取了`List<List<string>>`的行数和列数,并创建了一个相同大小的二维数组`array`。然后,我们使用双重循环遍历`List<List<string>>`,将每个内部的`List<string>`转换为一维数组,再将其添加到二维数组中。最终,我们得到了一个二维数组`array`,其中包含了`List<List<string>>`中的所有数据。
阅读全文