C# 将LINQ查询隔离到where子句中的对象类型

C# 将LINQ查询隔离到where子句中的对象类型,c#,.net,C#,.net,我在LINQ的问题上遇到了麻烦 var names = from name in Name where name.Items.OfType<test.eng>() select name.Items; var names=从名称中的名称 其中name.Items.OfType() 选择名称。项目; 但我不断遇到这个错误,我不知道如何重写查询 “System.Collections.G

我在LINQ的问题上遇到了麻烦

        var names = from name in Name
                    where name.Items.OfType<test.eng>() 
                    select name.Items;
var names=从名称中的名称
其中name.Items.OfType()
选择名称。项目;
但我不断遇到这个错误,我不知道如何重写查询

“System.Collections.Generic.IEnumerable”改为“bool”

我想从名称对象中说
给我所有类型为

的名称对象项,您要将
IEnumerable
传递给
where
运算符。但它需要
bool
值。相反,您可以简单地将序列投影到
项目
,然后选择所需类型的项目:

var names = Name.Select(n => n.Items).OfType<test.eng>();
var Name=Name.Select(n=>n.Items).OfType();
试试这个:

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;