查询get等于来自innerlist对象的项目

时间:2017-05-28 12:49:33

标签: c# linq

我有 Nodes 这是一个集合

enter image description here

然后,当我展开展开 InnerList 时,它有以下项目

enter image description here

然后,当我展开其中一个( [0] )时,它具有以下属性

enter image description here

然后,当我展开标记时,它会有一个属性调用类型,并且它具有字符串值。

enter image description here

所以我只是尝试编写一个查询,通过类型值选择项目 喜欢以下

var selectedValues = diagram.Nodes.Where(x => x.Tag).Where(A => A.Type.Equals("SomeValue"));

但是这个查询甚至无法编译并获得这些错误

  

无法将类型'object'隐式转换为'bool'。一个明确的   转换存在

     

无法将lambda表达式转换为预期的委托类型,因为   块中的某些返回类型不可隐式转换   到委托的返回类型

1 个答案:

答案 0 :(得分:1)

Where希望您从lambda返回bool。我不确定您要选择什么,但您需要将第一个Where调整为Select或将其与第二个Where合并。你想要这样的东西吗?

var selectedValues = diagram.Nodes.Where(x => 
    ((YourTagType)x.Tag).Type.Equals("SomeValue"));