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のすべての「string」/「int」タプルを選択したい。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クエリで同じことを行おうとしていますが、成功しません(サブクエリの値を使用してキーを「結合」する方法がわかりません)。これをどのように行いますか?
前もって感謝します!