ConcurrentDictionaryのメソッドを探していました。値が指定された値と等しい場合にのみ、キーでエントリを削除できます。TryUpdate削除のためにConcurrentDictionaryの楽観的同時並行削除メソッド
これを行う唯一の方法は、この方法のようだ:
ICollection<KeyValuePair<K, V>>.Remove(KeyValuePair<K, V> keyValuePair)
それはICollectionインターフェイスの明示的な実装である、言い換えれば、私はそのように、第1 ICollectionへの私のConcurrentDictionaryをキャストする必要があり削除を呼び出すことができます。
削除は、ソースコードがプライベートメソッドTryRemovalInternalをbool matchValue = trueと呼んでいることを示しています。ビットしかし私を心配何
はそれがとてもhttp://msdn.microsoft.com/en-us/library/dd287153.aspxだけICollectionを定型文を複製し、How to: Add and Remove Items from a ConcurrentDictionaryはどちらかその方法を言及していない、ConcurrentDictionaryの楽観的同時Removeメソッドとして文書化されていないという事実です。
誰かがその方法を知っていますか、それとも私が行方不明の方法がありますか?
これは 'TryRemove'の呼び出しと同じメソッドで、' matchValue'がfalseに設定され、 'oldValue'がデフォルトに設定されているのと同じ方法ですので) –
正式な文書ではありませんが、http://blogs。 msdn.com/b/pfxteam/archive/2011/04/02/10149222.aspx – alexm
@alexmこれは十分に安心しています。これを回答にすると、私はそれを受け入れます! MSは実際には、最近彼らが "ConcurrentDictionaryに対するさらなるサポートを求めるいくつかの人たちを見た"と言えば、実際にドキュメントを更新しなければなりません... –