c#删除数组中的多个元素
时间: 2024-04-30 18:18:32 浏览: 110
在 C# 中,可以使用以下两个方法来删除数组中的多个元素:
1. 使用 Linq 的 Where 方法和 ToArray 方法:
```csharp
int[] arr = { 1, 2, 3, 4, 5 };
int[] indexesToRemove = { 1, 3 };
arr = arr.Where((val, index) => !indexesToRemove.Contains(index)).ToArray();
```
这里,我们首先定义了一个整型数组 `arr`,并且定义了要删除的元素的索引位置数组 `indexesToRemove`。接着,我们使用 Linq 的 `Where` 方法来筛选出不包含要删除元素索引位置的元素,并将结果转换成数组。
2. 使用 List 的 RemoveAt 方法:
```csharp
int[] arr = { 1, 2, 3, 4, 5 };
int[] indexesToRemove = { 1, 3 };
List<int> list = arr.ToList();
foreach (int index in indexesToRemove.OrderByDescending(x => x))
{
list.RemoveAt(index);
}
arr = list.ToArray();
```
这里,我们首先将整型数组 `arr` 转换成 List<int> 类型的 `list`。然后,我们使用循环遍历要删除的元素的索引位置数组,并且使用 List 的 `RemoveAt` 方法来删除对应的元素。最后,我们再将 List 转换回整型数组类型。需要注意的是,我们使用 `OrderByDescending` 方法来确保删除元素的顺序不会影响其他元素的索引位置。
阅读全文