[英]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.