簡體   English   中英

如何從列表中的列表中檢索不同值的列表

[英]How to retrieve a list of distinct values from a list within a list

我有一個對象列表,並且在每個對象中它們都包含一個ID列表。

下面的代碼創建一個包含10個成員的列表,然后在每個成員中創建一個包含五個隨機ID的列表。

public class Member
{
    List<int> Ids { get; set; }

    public Member()
    {
        Ids = new List<int>();
    }
}

var rnd = new Random();
var container = new List<Member>();

// Add members with random Ids
for ( int i = 1; i <= 10; i++ ){
    var member = new Member();

    for ( int j = 1; j <= 5; j++ ){
        member.Ids.Add( rnd.Next(100) );
    }
}

var distinctIds = ?????; 

我正在努力的是LINQ,以檢索所有成員的ID的唯一列表。

var distinctIds = 
    (from member in container
    from id in member.Ids
    select id).Distinct();

當然有method-y語法,在這種情況下將使用SelectMany

var distinctIds = container.SelectMany(member => member.Ids).Distinct();

但我永遠記得怎么稱呼它,所以我一般喜歡多from秒。

暫無
暫無

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

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