【发布时间】:2011-05-30 09:43:46
【问题描述】:
根据here 的讨论,其中一个答案似乎暗示通过使用从 C# 到 VB.NET 的代码转换器,应用于 int 的 operator++ 应替换为 System.Math.Max(System.Threading.Interlocked.Increment(current),current - 1)),我想知道这是否是真的正确吗?
如果是这样,为什么它是正确的?我不认为 operator++ 会被实现为 Interlocked.Increment 操作?我什至不认为它是线程安全的。我没有看到这两个是谁相同,那么为什么链接到的问题的答案甚至有效?
我试过了,它产生了正确的结果。 AFAIK,.NET 没有像 C++ 那样的未定义行为。
谁能澄清一下?
【问题讨论】:
-
我是在另一个问题中提供答案的人。仅供参考:我使用了telerik's converter。
-
@Daniel:谢谢提及:)
-
你是写,没必要用interlocked.increment
标签: c# vb.net c#-to-vb.net