簡體   English   中英

Linq從嵌套列表中獲取不同的列表

[英]Linq get distinct list from nested list

我有一個像這樣的東西

List<Hotel> Hotels;

public class Hotel
{
  List<RoomType> RoomType;
}

public class RoomType
{
  Room Room;
}

public class Room
{
  int RoomId;
}

我想以酒店列表作為結尾,但其中RoomType的嵌套列表與RoomId不同。 也就是說,如果已經為另一個酒店提供了RoomId,則我不想再次添加酒店。 我已經嘗試了很多解決方案並嘗試了MoreLinq,但是我能找到的就是如何獲得與眾不同的內部列表。

據我了解,您希望擁有一個RoomId的清單,並且每個Hotel都有一個清單:

var result = hotels.SelectMany(hotel => hotel.RoomType.Select(room => new { Id = room.RoomId, Hotel = hotel }))
                   .GroupBy(item => item.Id)
                   .Select(group => group.FirstOrDefault());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM