C#中一个二维数组要划分为多个一维数组,可以怎么比较简洁的视线
时间: 2024-09-28 19:09:46 浏览: 43
在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()`函数用于复制二维数组的一行到新的一维数组。
相关问题
C#将一维数组分成若干二维数组
在C#中,如果你有一个一维数组,想要将其分割成多个二维数组,你可以基于特定的维度或者元素数量来进行划分。这通常涉及到创建新的二维数组并填充数据。这里有一个基本的示例,假设我们有一维整型数组:
```csharp
int[,] oneDimArray = new int[6] { 1, 2, 3, 4, 5, 6 };
// 假设我们要将数组分为2x3的二维数组
int rows = 2;
int cols = 3;
// 计算每部分的长度
int partLength = oneDimArray.Length / rows;
List<int[,]> twoDimArrays = new List<int[,]>();
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
int start = i * partLength + j;
int end = Math.Min(start + partLength, oneDimArray.Length);
int[] tempArray = Array.copyOfRange(oneDimArray, start, end);
twoDimArrays.Add(new int[cols] { tempArray });
}
}
foreach (var arr in twoDimArrays)
{
Console.WriteLine(string.Join(",", arr));
}
阅读全文
相关推荐
















