当前位置 : 主页 > 编程语言 > c语言 >

VB#中的c# – operator – Interlocked.Increment

来源:互联网 收集:自由互联 发布时间:2021-06-24
根据讨论 here,其中一个答案似乎暗示通过使用从C#到VB.NET的代码转换器,应用于int的运算符应替换为System.Math.Max(System.Threading.Interlocked.Increment(当前),当前 – 1)),我想知道这是否真的正确?
根据讨论 here,其中一个答案似乎暗示通过使用从C#到VB.NET的代码转换器,应用于int的运算符应替换为System.Math.Max(System.Threading.Interlocked.Increment(当前),当前 – 1)),我想知道这是否真的正确?

如果是这样,为什么它是正确的?我不认为该运算符将被实现为Interlocked.Increment操作?我甚至不认为它是线程安全的.我没有看到这两个人是一样的,然后为什么这个问题的答案与之相关,甚至有效?

我尝试了它,它产生了正确的结果. AFAIK,.NET没有像C那样的未定义行为.

任何人都可以澄清一下吗?

你可以在VB.Net中做x = 1.不如x优雅,但优于x = x 1.

Interlocked.Increment用于使您的添加操作线程安全.你可能根本不需要它.

编辑:另外,如果不清楚,VB中没有运算符,我不明白为什么,但是……

网友评论