Если вы работаете с IEnumerable<T>
, как насчет Где?
list = list.Where(car => car.Year <= 2000);
Если вы работаете с ICollection<T>
и вы не просто получаете отфильтрованный результат, но действительно намереваетесь манипулировать исходной коллекцией,Вы можете создать собственное расширение для коллекции:
public static class CollectionExtensions {
public static ICollection<T> RemoveWhere<T>(this ICollection<T> collection, Func<T, bool> predicate) {
List<T> toRemove = collection.Where(item => predicate(item)).ToList();
toRemove.ForEach(item => collection.Remove(item));
return collection;
}
}