C# List使用倒序遍历列表用函数RemoveAt()删除符合条件的条目,给出示例
时间: 2024-10-21 18:11:17 浏览: 12
在C#中,如果你想通过List<T>遍历并倒序地移除满足特定条件的元素,你可以先创建一个自定义的委托或者方法,然后结合LINQ的`Reverse()`和`Where()`方法来实现。这里是一个简单的示例,假设我们有一个整数列表,我们要删除所有偶数:
```csharp
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
// 创建一个整数列表
List<int> numbers = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
// 自定义一个委托,用于检查元素是否应被移除
Func<int, bool> shouldRemove = n => n % 2 == 0; // 删除偶数
// 首先,将列表反转,然后通过Where()过滤掉不符合条件的元素,最后再用Reverse()恢复原顺序
numbers.Reverse(); // 列表倒序
numbers = numbers.Where(shouldRemove).ToList().Reverse(); // 移除偶数,然后再次反转回到原始顺序
Console.WriteLine("处理后的列表:");
foreach (int num in numbers)
Console.Write(num + " ");
}
}
```
在这个示例中,`numbers`变量中的偶数会被移除,最终打印出奇数序列。
阅读全文