为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Func 传递 lambda 表达式的多个条件

使用 Func 传递 lambda 表达式的多个条件

C#
湖上湖 2021-10-24 18:03:06
我有一个如下所示的存储库。我Func过去常常传递一个 lambda 表达式,但我不知道该怎么做。public IEnumerable<T> SelectAll(Expression<Func<T, bool>> predicate){    return table.ToList();}在我的控制器中,我想通过 lambda 传递一个条件,如下所示,但我不知道如何:var rslt = _repository.SelectAll(s=>s.Name="Jack" && s.Time==Date.Now())我应该如何传递这样的 lambda,上面的 lambda 不正确?
查看完整描述

2 回答

?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

传递给.Where():


public IEnumerable<T> SelectAll(Expression<Func<T, bool>> predicate)

{


    return table.Where(predicate).ToList();

}


查看完整回答
反对 回复 2021-10-24
?
喵喵时光机

TA贡献1846条经验 获得超7个赞

放入扩展名


public static class Extensions

{

    public static IEnumerable<T> SelectAll<T>(this IEnumerable<T> items, Func<T, bool> predicate)

    {

        return items.Where(predicate);

    }

}

例子:


List<int> items = new List<int>() {1,2,3,4,5 };

var result = items = items.SelectAll(x => x > 1 && x < 5);


查看完整回答
反对 回复 2021-10-24
  • 2 回答
  • 0 关注
  • 283 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信