C# 如何使用LINQ从列表中的列表中获取所有对象
我有一份汽车清单,他们有一份生产工厂的清单C# 如何使用LINQ从列表中的列表中获取所有对象,c#,linq,C#,Linq,我有一份汽车清单,他们有一份生产工厂的清单 List<Car> cars = new List(); 现在我在这个列表中列出了每辆车的生产工厂 List<FactoryCollection> factoryCollections = cars .Select(c => c.Factories) .ToList(); 现在我想得到一个单一工厂的列表,这样我就有了所有生产特定汽车的工厂 例如: List<Factory> factorie
List<Car> cars = new List();
现在我在这个列表中列出了每辆车的生产工厂
List<FactoryCollection> factoryCollections = cars
.Select(c => c.Factories)
.ToList();
现在我想得到一个单一工厂的列表,这样我就有了所有生产特定汽车的工厂
例如:
List<Factory> factories = factoryCollections
.Select(f => f.Werk);
我的问题是,这些对象更深一层
我的问题是:
如何使用LINQ语句获取对象,或者是否有更简单的方法获取所有工厂?使用SelectMany而不是Select
使用SelectMany而不是Select
看起来,您正在寻找许多:
看起来,您正在寻找许多: 您正在寻找SelectMany,但与其他答案不同,它有点嵌套:
List<Factory> factories = cars
.SelectMany(c => c.Factories.Select(f => f.Werk))
.ToList();
您正在寻找SelectMany,但与其他答案不同,它有点嵌套:
List<Factory> factories = cars
.SelectMany(c => c.Factories.Select(f => f.Werk))
.ToList();
您可以使用SelectMany展平层次结构。您可以使用SelectMany展平层次结构。
List<Factory> factories = cars
.SelectMany(c => c.Factories.Select(f => f.Werk))
.ToList();