C#中一个二维数组要划分为多个一维数组,可以怎么比较简洁的视线
时间: 2024-09-28 14:09:46 浏览: 31
C#拼图游戏编写代码(2)
在C#中,如果你想把一个二维数组分割成多个一维数组,你可以通过循环遍历二维数组并逐行获取数据创建新的一维数组。这里是一个简洁的示例,假设我们有一个二维整型数组`matrix`:
```csharp
// 原始二维数组
int[,] matrix = new int[,] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
List<int[]> oneDimArrays = new List<int[]>();
// 分割为一维数组
for (int i = 0; i < matrix.GetLength(0); i++)
{
int[] rowArray = new int[matrix.GetLength(1)];
Array.Copy(matrix, i * matrix.GetLength(1), rowArray, 0, matrix.GetLength(1));
oneDimArrays.Add(rowArray);
}
// 现在oneDimArrays列表包含了三个一维数组:{1, 2, 3}, {4, 5, 6}, {7, 8, 9}
```
在这里,`GetLength(0)`和`GetLength(1)`分别获取数组的行数和列数。`Array.Copy()`函数用于复制二维数组的一行到新的一维数组。
阅读全文