我有一個(gè)如下所示的存儲(chǔ)庫(kù)。我Func過(guò)去常常傳遞一個(gè) lambda 表達(dá)式,但我不知道該怎么做。public IEnumerable<T> SelectAll(Expression<Func<T, bool>> predicate){ return table.ToList();}在我的控制器中,我想通過(guò) lambda 傳遞一個(gè)條件,如下所示,但我不知道如何:var rslt = _repository.SelectAll(s=>s.Name="Jack" && s.Time==Date.Now())我應(yīng)該如何傳遞這樣的 lambda,上面的 lambda 不正確?
2 回答

牧羊人nacy
TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超7個(gè)贊
傳遞給.Where():
public IEnumerable<T> SelectAll(Expression<Func<T, bool>> predicate)
{
return table.Where(predicate).ToList();
}

喵喵時(shí)光機(jī)
TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個(gè)贊
放入擴(kuò)展名
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);
- 2 回答
- 0 關(guān)注
- 313 瀏覽
添加回答
舉報(bào)
0/150
提交
取消