c#简单实现二维数组和二维数组列表List<>的转置
时间: 2024-02-29 18:52:36 浏览: 161
C#中List和数组之间转换的方法
5星 · 资源好评率100%
下面是C#代码简单实现二维数组和二维数组列表List<>的转置:
```csharp
// 二维数组的转置
int[,] arr = new int[,] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
int[,] result = new int[arr.GetLength(1), arr.GetLength(0)];
for (int i = 0; i < arr.GetLength(0); i++)
{
for (int j = 0; j < arr.GetLength(1); j++)
{
result[j, i] = arr[i, j];
}
}
// 二维数组列表List<>的转置
List<List<int>> list = new List<List<int>>();
list.Add(new List<int> { 1, 2, 3 });
list.Add(new List<int> { 4, 5, 6 });
list.Add(new List<int> { 7, 8, 9 });
List<List<int>> transposedList = new List<List<int>>();
for (int i = 0; i < list[0].Count; i++)
{
List<int> row = new List<int>();
for (int j = 0; j < list.Count; j++)
{
row.Add(list[j][i]);
}
transposedList.Add(row);
}
```
以上代码可以将一个3x3的二维数组和一个包含3个长度为3的List的二维数组列表进行转置操作,得到的结果如下:
```csharp
// 二维数组转置后的结果
2 5 8
1 4 7
3 6 9
// 二维数组列表转置后的结果
1 4 7
2 5 8
3 6 9
```
阅读全文