c#2维数组转一维数组
时间: 2024-10-24 17:00:51 浏览: 51
在C#中,将二维数组转换成一维数组可以使用`Array.Flatten()`方法或者手动遍历二维数组元素并添加到新的线性数组中。以下是两种常见方法:
1. 使用`Array.Flatten()`方法:
```csharp
int[,] twoDArray = new int[,] { { 1, 2 }, { 3, 4 } };
int[] oneDimArray = Array.Flatten(twoDArray);
```
这会直接创建一个新的`int[]`数组,包含原始二维数组的所有元素。
2. 手动遍历并填充一维数组:
```csharp
int[,] twoDArray = new int[,] { { 1, 2 }, { 3, 4 } };
List<int> oneDimList = new List<int>();
foreach (var row in twoDArray)
{
foreach (int element in row)
{
oneDimList.Add(element);
}
}
int[] oneDimArray = oneDimList.ToArray();
```
这里先创建了一个`List<int>`,然后通过嵌套循环逐个添加二维数组中的元素,最后转换为固定长度的一维数组。
相关问题
C#二维数组旋转180
以下是C#中二维数组顺时针旋转180度的代码示例:
```csharp
int[,] a = new int[3, 3] { { 1, 2, 3 }, { 2, 3, 4 }, { 4, 5, 6 } };
int[,] b = new int[3, 3];
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
b[i, j] = a[2 - i, 2 - j];
}
}
```
以上代码中,我们定义了一个3x3的二维数组a,并将其初始化。然后,我们定义了一个新的3x3的二维数组b,并使用两个for循环遍历a数组中的每个元素,将其旋转180度后存储到b数组中。
C#一维数组移除元素
在 C# 中,可以使用 `List<T>` 类来实现一维数组移除元素的操作。下面是一个示例代码:
```csharpusing System;
using System.Collections.Generic;
class Program{
static void Main(string[] args)
{
// 初始化数组 int[] array = {1,2,3,4,5 };
// 将数组转换为列表 List<int> list = new List<int>(array);
// 移除元素 list.Remove(3);
// 将列表转换回数组 array = list.ToArray();
// 打印结果 foreach (int element in array)
{
Console.WriteLine(element);
}
}
}
```
在上述代码中,我们首先将数组转换为 `List<int>` 类型的列表,然后使用 `Remove()` 方法移除指定的元素(此处移除了值为3 的元素),接着将列表转换回数组。最后,我们通过循环打印出删除元素后的数组。
阅读全文