使用for循环,如何填充一个lambda where条件?
本文关键字:一个 lambda 条件 where 填充 循环 for 何填充 使用 | 更新日期: 2023-09-27 18:04:41
我有一个动态数据列表。我想循环遍历列表以创建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行,之前的行在迭代中被覆盖。