Получение всех элементов из значений словаря, которые также являются списком элементов - PullRequest
2 голосов
/ 10 марта 2012

допустим, у меня есть следующий словарь:

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

Мне нужно получить все доступные заказы независимо от комнаты, используя лямбда-выражение.

например, мне нужно сделать то же самоекак следующий код

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

Любые идеи?

1 Ответ

4 голосов
/ 10 марта 2012

Звучит так, как вы хотите:

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

В качестве альтернативы, можно рассматривать его как выравнивание по свойству Value каждой пары в словаре:

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

Должен любить LINQ:)

...