簡體   English   中英

使用for循環,我如何填充lambda的條件?

[英]Using a for loop, how do I populate a lambda where condition?

我有一個動態數據列表。 我想遍歷列表來創建一個where子句。 我怎么做?

IQueryable<MyObject> result = originalData;
foreach (var item in Years)
{
    result = input.Where(x => x.Year == item).AsQueryable();
}

2013應該有30和2014應該有18.我的結果只有18當它應該是48.任何想法?

編輯

我應該提一下,我知道我會覆蓋結果。 我試過+ =並且我得到錯誤'+ ='不能應用於IQueryable的操作數(MyObject>和IQueryable(MyObject>)

你不需要for循環,你可以這樣做:

IQueryable<MyObject> result = input.Where(x=> Years.Contains(x.Year));

目前,您的result是保持循環的最后一個值。 因此,假設你的最后一個值Years是2014年,那么你回到18行反對的話,以前的行是在迭代覆蓋。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM