1

値がまだ存在しない場合は、値を 0 に初期化したいと思います。それ以外の場合は、既存の値をインクリメントする必要があります。

ConcurrentDictionary<int, int> dic = new ConcurrentDictionary<int, int>();
dic.AddOrUpdate(1, 0, (key, old) => old++);
dic.AddOrUpdate(2, 0, (key, old) => old++);

この時点で、ディクショナリには 1 と 2 のキーがあり、それぞれ値は 0 です。

        dic.AddOrUpdate(1, 0, (key, old) => old++);

この時点で、キー 1 の値は 1 である必要がありますが、キー 2 の値は 0 である必要がありますが、どちらも値が 0 です。

4

2 に答える 2