Linq在嵌套列表上-选择所有的Id

18 浏览
0 Comments

Linq在嵌套列表上-选择所有的Id

我有一个嵌套列表,类似于这样:

List Hotels;
public class Hotel
{
    List RoomType;
}
public class RoomType
{
    Room Room;
}
public class Room
{
    int RoomId;
}

有点复杂,抱歉,我无法想出更好的模拟模型。我的想法是,我有很多酒店,每个酒店有很多房间类型,并且假设每个房间类型都有一个房间对象。

现在,我只想从酒店列表中选择所有的RoomId..我在尝试嵌套所有列表时卡住了..

现在,我正在尝试这样做:

//无法执行此操作,出现某些无效错误
int[] AllRoomIds = Hotels.SelectMany(x => x.Rooms)
                       .SelectMany(y => y.RoomType.Room.Id).Distinct().ToArray()
//无法执行此操作 - z没有任何内容
int[] AllRoomIds = Hotels.SelectMany(x => x.Rooms)
                         .SelectMany(y => y.RoomType)
                         .Select(z => z. 

请问我该如何做呢?

访问嵌套列表中所有项的所有id..有时它会抱怨“无法将int转换为boolean”,我不知道它是什么意思...

谢谢..希望这个问题能够被理解。

0