Dictionary<String, String> MyDict = new Dictionary<String, String>();
と私は辞書Values
を比較すると、すべて同じ値に
を持つkey
Sを追加する必要が
MyDict.Add("A", "1010");
MyDict.Add("B", "1011");
MyDict.Add("C", "1110");
MyDict.Add("D", "1010");
MyDict.Add("E", "1011");
MyDict.Add("F", "1010");
が含まれていますが、次のように私はDictionary<String,String>
をここにされてい私の結果の辞書
Dictionary<String, List<String>> MyResultDict = new Dictionary<String, List<String>>();
そして、私のコード
var XXX = MyDict.ToLookup(X => X.Value, X => X.Key);
MyResultDict = MyDict.ToDictionary(X => X.Key, X => XXX[X.Value].ToList());
{ "A" { "A" , "D", "F" } }
{ "B" { "B" , "E" } }
{ "C" { "C" } }
{ "D" { "A" , "D", "F" } }
{ "E" { "B" , "E" } }
{ "F" { "A" , "D", "F" } }
しかし、私の解決策は
2つの問題が発生しているため(重複値のリストが存在するように上記のコードは、結果を生成しますキー
D
,E
、F
)値リストにはキーが含まれています。
予想される出力はC
の値がどこにも繰り返されていないためkey C
の必要はありません
{ "A" { "D", "F" } }
{ "B" { "E" } }
すなわちのようなものです。
A
とB
の値リストに既に含まれているので、keys D , E and F
を含める必要はありません。
これを行う方法Linq
またはLambda Expression
?
値を '{" 1010 "{" A "、" D "、F"}} 'などの値でキーするほうがよいでしょうか? –
予想される出力は、キーの順序に依存しているようです。 AとBは他よりも「重要」です。それは問題です。ディクショナリは順序付きコレクションではありません。 –