hereによれば、答えの1つは、C#からVB.NETへのコード変換を使用して、intに適用された演算子++をSystem.Math.Max(System.Threading.Interlocked.Increment(current),current - 1))
に置き換える必要があり、私はこれが実際に正しいかどうか疑問に思いましたか?VB ++の演算子++ Interlocked.Increment
もしそうなら、それはなぜ正しいですか?私は演算子++がInterlocked.Increment演算として実装されるとは思わなかったのですか?私はスレッドセーフだとは思わなかった。私はこれらの2つが同じであることを知りません。そして、なぜ質問に答えて、働くことさえできますか?
私はそれを試みましたが、正しい結果が得られました。 AFAIK、.NETにはC++のように未定義の動作はありません。
誰かが明確にできますか?
私は他の質問で答えを提供した人でした。参考のために:私は[telerikのコンバータ](http://converter.telerik.com/)を使用しました。 –
@Daniel:ありがとうございました:) –
あなたは書かれているので、interlocked.incrementを使う必要はありません – Deepesh