在列表列表中搜索

时间:2018-03-26 14:24:05

标签: c# list xamarin

我有一个列表,其中还包含一个包含一些对象的列表:

var elements = new List<ElementGroup>()
            {
                new ElementGroup("WIRES")
                {
                    new Element() {Name = "Wires", Image = "wires.jpg"}
                },
                new ElementGroup("GROUND")
                {
                    new Element() {Name = "Ground", Image = "ground.jpg"}
                }
            };

ElementGroup类:

public class ElementGroup : List<Element>

我想将Linq查询应用于所有Element列表中的所有ElementGroup个对象,但如果我这样做:

elements.Where(c => c.Family.Contains(searchText.ToUpper()));

它在ElementGroup列表中应用查询。

2 个答案:

答案 0 :(得分:0)

await C()

答案 1 :(得分:-1)

使用SelectMany来展平内部列表。

代码可能如下所示 elements.SelectMany(s =&gt; s.Elements)

你可以处理这个元素列表

编辑:

另外,考虑在ElementGroup中有一个元素列表而不是继承。然后使用SelectMany成为自然选择。