让我说我有以下词典:
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);
任何想法?
答案 0 :(得分:4)
听起来像你想要的那样:
var allBookings = rooms.Values.SelectMany(x => x).ToList();
或者,通过字典中每对的Value
属性将其视为展平:
var allBookings = rooms.SelectMany(x => x.Value).ToList();
得爱LINQ:)