获取字典值中的对象的完整列表

时间:2013-04-05 05:12:21

标签: c# linq dictionary

我有这个dictonary:

private Dictionary<int, ICar> _ICarsDic;

对象ICar实际上包含另一个对象列表:

public interface ICar 
{
    int carId { get; set; }
    string carName { get; set; }
    List<IBrandsDetails> brandsDetails { get; set; }
}

我想写一个函数,在我的所有_ICarsDic值中将所有brandsDetails返回到单个列表中。

我确信LINQ会这样做(不想写一个丑陋的循环)但我是新手,所以非常感谢你的帮助。谢谢!

3 个答案:

答案 0 :(得分:3)

使用Eneumerable.SelectMany

List<IBrandsDetails> list =  _ICarsDic.SelectMany(r => r.Value.brandsDetails)
                                      .ToList();

答案 1 :(得分:1)

var brandDetails = _ICarsDic.Values.SelectMany(c => c.brandsDetails);

答案 2 :(得分:0)

您可以将linq编写为

var listOfObjects = _ICarsDic.SelectMany(t => t.Value.brandsDetails).ToList();