[英]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.