1

特定の値を見つけるために値がリストの形式になっている辞書の値を反復処理したいこのループがあります

Dictionary<int, List<int>> A = new Dictionary<int, List<int>>();

  foreach (var item in A[*key*].Values)
            {
                if (A[*key*].Values == *specified value*)
                {
                     a = true; //a is bool variable a made
                }
            }

これは機能しません。これを行う方法がわかりません

4

3 に答える 3

2

のリストを取得するには辞書キーを使用する必要がありますint。この int のリストでは、Enumerable.Containsを使用できます。

foreach (var item in A.Keys)
{
    if (A[item].Contains(*specified value*))
    {
         a = true; //a is bool variable a made
    }
}

目的の値を見つけたキーを知る必要がない場合は、キーを使用する代わりにDictionary.Valuesを直接使用できます。

foreach (var list in A.Values)
{
    if (list.Contains(*specified value*))
    {
         a = true; //a is bool variable a made
    }
}
于 2013-07-04T02:21:04.243 に答える
0
foreach (var item in A[key].Values)
{
    if (item == *specified value*)
    {
         a = true; //a is bool variable a made
    }
}
于 2013-07-04T02:20:04.053 に答える