LInq查询集合内的集合

时间:2011-05-31 13:48:25

标签: c# linq linq-to-objects

我的对象包含一组集合。我想获取所有子对象ID并将其存储在字符串数组中。

MainObject包含父级列表

父包含儿童名单

子属性是(Id,Name)

如何查询MainObject并查找所有子ID并使用linq将其存储在字符串数组中?

3 个答案:

答案 0 :(得分:14)

您可以使用SelectMany

var stringArray = MainObject.ListOfParent
                            .SelectMany(p => p.ListOfChildren
                                              .Select(c => c.Id.ToString()))
                            .ToArray()

答案 1 :(得分:4)

试试这个

var id =parents.SelectMany(p => p.Children).Select(x => x.Id).ToArray();

答案 2 :(得分:3)

var arrayOfIds = MainObject.ListOfParents
                           .SelectMany(x => x.ListOfChildren)
                           .Select(x => x.Id)
                           .ToArray();