0

これは宿題ではありません;)A)次のコード(TODOと〜TODOの間)を最適化し、B)[P]Linqに変換する必要があります。より良い読みやすさが望まれます。A)とB)に別々に答えを提供することは理にかなっているかもしれません。ありがとう!

lock (Status.LockObj)
{
    // TODO: find a better way to merge these dictionaries
    foreach (KeyValuePair<Guid, Message> sInstance in newSInstanceDictionary)
    {
        this.sInstanceDictionary.Add(sInstance.Key, sInstance.Value);
    }

    foreach (KeyValuePair<Guid, Message> sOperation in newSOperationDictionary)
    {
        this.sOperationDictionary.Add(sOperation.Key, sOperation.Value);
    }
    // ~TODO
}

PS私の他の賞金稼ぎの質問をチェックしてください。

4

2 に答える 2

1

Union演算子を見てください:

 return newSInstanceDictionary.Union(newSOperationDictionary).ToDictionary(x => x.Key, y => y.Value);
于 2010-04-21T14:48:14.990 に答える
1

独自の拡張メソッドを作成することはできますが、ここで役立つLINQメソッドはありません。

このコードが実行される前に辞書が空の場合は、を呼び出すことができますToDictionary

于 2010-04-21T14:49:06.167 に答える