C#:根据条件从集合中提取 return 个元素的通用函数

C#: generic function that return element from collection based on condition

所以我有这个 function return 来自 collection 的元素基于 condition

public static T Search<T>(IEnumerable<T> source, Func<T, bool> filter)
{
    return source.FirstOrDefault(filter);
}

我想将其转换为 return 形成我的 collection 的所有 elements 以匹配我的 condition.

所以不要将函数签名更改为 public static IEnumerable<T> Search<T>(IEnumerable<T> source, Func<T, bool> filter)

我的函数内部需要更改什么?

使用Where代替FirstOrDefault

public static IEnumerable<T> Search<T>(IEnumerable<T> source, Func<T, bool> filter)
{
    return source.Where(filter);
}

使用 Where 方法而不是 FirstOrDefault