我需要一个嵌套LINQ的帮助。
我的方案是
我有一个带
的列表HotelId int 列表
内部房间我有一个房间
我有重复的酒店条目和roomsid的重复条目
像这样的东西
HoteId 2500
HotelId 3500
HotelId 2500
HotelId 3900
HotelId 3500
我想先在酒店找一个小组,这当然很容易
listaHoteisEncontrados.GroupBy( x => x.HotelId );
但我需要一些东西
Dictionary<int,List<rooms>>
其中int是我的IdHotel,房间是我在这里试过一些样品的房间列表
Dictionary<int, List<Dados.HotelSearchResponse.Room>> otroDic =
listaHoteisEncontrados
.GroupBy( x => x.HotelId )
.ToDictionary(
g => g.Key,
g => g
.GroupBy( e => e.Room
.GroupBy( f => f.RoomType ).ToDictionary
( g2 => g2.Key, g2 => g2.Select( p => p.RoomType ).ToList() )
)
);
没有成功..任何人都可以帮助我吗?
答案 0 :(得分:1)
这是另一种可能的解决方案。我只是没有设法从列表中删除重复的房间..:D
var dic = new Dictionary<int, List<Room>>();
foreach (var hotel in listaHoteisEncontrados)
{
if (!dic.ContainsKey(hotel.Id))
{
dic.Add(hotel.Id, hotel.Rooms);
}
else
{
dic[hotel.Id].AddRange(hotel.Rooms);
//remove duplicate rooms here
}
}