Linq на вложенном списке - выберите все Id's

У меня есть вложенный список, что-то вроде этого:

List<Hotel> Hotels;

public class Hotel
{
    List<RoomType> RoomType;
}

public class RoomType
{
    Room Room;
}

public class Room
{
    int RoomId;
}

Он немного запутанный, извини, не смог придумать лучшей макетной модели. Идея в том, что у меня много отелей, в каждом отеле много типов номеров, и предполагается, что у каждого типа номеров есть ровно один объект номеров.

Теперь из списка отелей я хочу выбрать все RoomId... Я застрял здесь, пока пытался разместить все списки...

прямо сейчас, я пытаюсь это сделать:

//cant do this some invalid error
int[] AllRoomIds = Hotels.selectMany(x => x.Rooms)
                       .selectMany(y => y.RoomType.Room.Id).Distinct().ToArray()

//cant do this - z doesnt have anything
int[] AllRoomIds = Hotels.selectMany(x => x.Rooms)
                         .selectMany(y => y.RoomType)
                         .select(z => z. 

Как мне это сделать, пожалуйста?

Доступ ко всем идентификаторам всех вещей из вложенного списка... иногда он жалуется на то, что не может преобразовать int в boolean , и я не знаю, что это значит...

Спасибо... надеюсь, вопрос был несущественным

14
задан LocustHorde 9 September 2011 в 15:09
поделиться