vb.net 函数 arg 中的预增量运算符

vb.net preincrement operator in function arg

Sub V(N As Integer)
    Console.WriteLine(N)
End Sub

Sub Main()
    Dim N = 0
    For I As Integer = 1 To 5
        V(++N)
    Next
End Sub

VB.Net 没有预增量运算符,++AND 在函数参数之外不起作用。 为什么这段代码可以编译?

与 C# 不同,Vb.Net 中没有递增运算符,+/- 符号被视为 positive/negative 个算术符号(或 sum/rest如果写在空格之间,或者写在赋值符号之前,如 +=/-=),但是,您可以使用 System.threading.Interlocked.Increment 以类似的方式实现您想要的 函数。

Imports System.Threading.Interlocked

Module Module1

    Sub Main()
        Dim value As Integer

        For count As Integer = 1 To 5
            Module1.Method(Increment(value))
        Next count 
    End Sub

    Sub Method(ByVal value As Integer)
        Console.WriteLine(value)
    End Sub

End Module