我需要帮助构建 Linq 查询。我有这本字典:
var dict = new Dictionary<string, IDictionary<int, double>>
{
{ "one", new Dictionary<int, double>
{
{ 1, 2.0 },
{ 2, 3.0 }
}},
{ "two", new Dictionary<int, double>
{
{ 1, 3.0 },
{ 2, 4.0 },
{ 3, 5.0 }
}},
{ "three", new Dictionary<int, double>
{
{ 1, 4.0 },
{ 2, 5.0}
}}
};
我想选择关联值为 3.0 的所有“字符串”/“整数”元组。使用 Foreach 循环,它看起来像:
var res = new Dictionary<string, int>();
foreach (var elem in dict.Select (d => new { S = d.Key, I = d.Value }))
{
foreach (var val in elem.I)
{
if (val.Value == 3.0)
{
res.Add(elem.S, val.Key);
}
}
}
我正在尝试对单个 Linq 查询执行相同的操作,但没有成功(我不知道如何将键与子查询中的值“连接”)。你会怎么做?
先感谢您!