You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#中通过一次查询获取嵌套列表中的所有车辆数据?

C# 从Person列表中批量获取车辆信息的最优方式

获取所有车辆名称的最优方式

使用LINQ的SelectMany配合Select是最简洁高效的方案,SelectMany负责将嵌套的Cars列表扁平化,把所有Car对象合并为一个序列,再通过Select提取车辆名称:

// 得到所有车辆名称的集合
var allCarNames = people.SelectMany(person => person.Cars)
                        .Select(car => car.Name)
                        .ToList();

如果不需要立即枚举结果,也可以去掉ToList(),保留IEnumerable<string>类型,延迟执行更节省内存。

能否一次查询获取所有车辆对象?

完全可以,直接用SelectMany扁平化嵌套的Cars列表即可,无需额外的Select操作:

// 得到所有Car对象的集合
var allCars = people.SelectMany(person => person.Cars)
                    .ToList();

这样就能一次性获取所有Person关联的Car对象,同样可以根据需求选择是否转为列表,或者保持IEnumerable<Car>的延迟执行状态。

内容的提问来源于stack exchange,提问作者Milad Ahmadi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 01:45:36