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

本文关键字:列表 对象 字典 获取 | 更新日期: 2023-09-27 18:07:47

我有这本字典:

private Dictionary<int, ICar> _ICarsDic;

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

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

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

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

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

使用Eneumerable.SelectMany

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

您可以将linq写为

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