0

ConcurrentDictionary を宣言して初期化することは可能ですか? 多分辞書のようなもの:

Dim Stuff = New ConcurrentDictionary(Of Integer, Integer) From {{0, 1}, {2, 3}}
4

2 に答える 2

1

あなたが望むのは次のようなものです:

Dim Stuff As New ConcurrentDictionary(Of Integer, Integer) _
    ({
            New KeyValuePair(Of Integer, Integer)(1, 2),
            New KeyValuePair(Of Integer, Integer)(3, 4),
            New KeyValuePair(Of Integer, Integer)(5, 6)})

ConcurrentDictionary は Dictionary のような初期化子を使用できません。そのメソッドは Add メソッドを持つことに依存しており、ConcurrentDictionary には AddOrUpdate しかないためです。

于 2014-02-01T05:46:44.947 に答える
0

Dictionary を中間ストレージとして使用し、ConcurrentDictionary のこのコンストラクターを使用します。

Dim Stuff = New Dictionary(Of Integer, Integer) From {{0, 1}, {2, 3}}
Dim concurrentStuff = New ConcurrentDictionary(Of Integer, Integer)(Stuff)
于 2014-02-01T13:23:13.653 に答える