将LINQ查询隔离到where子句中的对象类型
本文关键字:对象 类型 子句 where LINQ 查询 隔离 | 更新日期: 2023-09-27 17:58:46
我遇到了这个LINQ查询的问题,
var names = from name in Name
where name.Items.OfType<test.eng>()
select name.Items;
但我一直收到这个错误,我不知道如何重写查询
’系统。集合。通用的IEnumerable到bool
我想从Name对象说给我所有类型的Name对象项
您正在将IEnumerable<test.eng>
传递给where
运算符。但它需要bool
值。相反,您可以简单地将序列投影到Items
并选择所需类型的项目:
var names = Name.Select(n => n.Items).OfType<test.eng>();
试试这个:
var names = from name in Name
where name.Items.GetType().Equals(typeof(test.eng))
select name.Items;
或:
var names = from name in Name
where name.Items.GetType().Equals(test.eng)
select name.Items;
或:
var names = from name in Name
where name.Items.GetType() == test.eng
select name.Items;