C#:泛型函数,根据条件从集合中返回元素,而无需使用委托

时间:2018-10-10 17:46:29

标签: c#

所以我有这个功能,可以根据条件从集合中返回元素:

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

是否可以不使用delegate\func来实现它?

假设我有Person类,具有几个属性:

string name;
int age;

还有List个对象中的Person

我想创建一个函数来获取条件,例如年龄大于某个数字的所有Person对象。

2 个答案:

答案 0 :(得分:1)

我想面试官想要(没用的)东西

runtime: python
env: flex
entrypoint: gunicorn -b :$PORT main:app

[...]

network:
   instance_tag: restricted_ssh

或没有任何限制

public interface IFilterable
{
     bool Match(string match);
}
public static IEnumerable<T> Search<T>(this IEnumerable<T> source, string match) where T: IFilterable
{
    return source.Where(x=>x.Match(match));
}

答案 1 :(得分:0)

您的不带过滤器的示例可以通过许多方法来完成,但这里的另一个示例是使用const Foo*

yeild