簡體   English   中英

C# - 使用 LINQ 將列表字典轉換為元組列表

[英]C# - Convert Dictionary of Lists to List of Tuples with LINQ

我有一個字典:

Dictionary<int, List<(byte Id, string name)

這本詞典的結構類似於:

{
[1, {(1, "Leo"), (2, "Messi")}]
[2, {(3, "Cris"), (4, "Ronaldo")}]
}

如何使用 LINQ 將其轉換為以下內容:

List<(int, byte)>

所以結構變成了這樣:

{
(1,1),
(1,2),
(2,3),
(2,4),
}

TIA。

假設您的字典以下列方式聲明

var dict = new Dictionary<int, List<(byte Id, string name)>>
{
    {1, new List<(byte Id, string name)> {(1, "Leo"), (2, "Messi")}},
    {2, new List<(byte Id, string name)> {(3, "Cris"), (4, "Ronaldo") }}
};

您可以使用SelectMany方法將其轉換為List<(int, byte)>

var list = dict.SelectMany(kvp => kvp.Value, (pair, tuple) => (pair.Key, tuple.Id)).ToList();

暫無
暫無

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

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