【问题标题】:How can I pass LINQ .Where condition as parameter? [duplicate]如何将 LINQ .Where 条件作为参数传递? [复制]
【发布时间】:2020-09-13 21:34:06
【问题描述】:

在 LINQ 中,是否可以将.Where 条件作为参数传递?

IList<Object> obj = persons
    .Where(p => p.Text.Contains("x") || p.Text.Contains("y"))
    .ToList();

这样动态条件不止一个

【问题讨论】:

  • 你可以定义Func&lt;IList&lt;Object&gt;, bool&gt; objectWhere然后传递persons.Where(objectWhere);

标签: c# linq parameter-passing where-clause


【解决方案1】:

您发布的单行相当于以下内容:

bool filter( Person p )
{
    return p.Text.Contains( "x" ) || p.Text.Contains( "y" );
}

IList<Object> obj = persons.Where( filter ).ToList();

我希望这能回答你的问题。

【讨论】:

    猜你喜欢
    • 2016-01-19
    • 2021-12-28
    • 2019-03-17
    • 1970-01-01
    • 2011-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-08
    相关资源
    最近更新 更多