从字典值中获取所有项目,字典值也是项目列表

本文关键字:项目 字典 列表 获取 | 更新日期: 2023-09-27 18:27:24

假设我有以下字典:

public Dictionary<Room, List<Booking>> rooms = new Dictionary<Room, List<Booking>>();

我需要使用lambda表达式获取所有可用的预订,而不考虑房间。

例如,我需要做与以下代码相同的操作

List<Booking> allBookings = new List<Booking>();
        foreach (List<Booking> listOfBooking in rooms.Values)
            foreach (Booking bookingItem in listOfBooking)
                allBookings.Add(bookingItem);

有什么想法吗?

从字典值中获取所有项目,字典值也是项目列表

听起来像你想要的:

var allBookings = rooms.Values.SelectMany(x => x).ToList();

或者,通过字典中每对的Value属性将其视为平坦:

var allBookings = rooms.SelectMany(x => x.Value).ToList();

我很喜欢LINQ:)