函数arg中的vb.net preincrement运算符

时间:2016-04-01 09:38:49

标签: .net vb.net arguments operators pre-increment

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没有preincrement运算符,++ N不能在函数参数之外工作。 为什么这段代码会编译?

1 个答案:

答案 0 :(得分:1)

与C#不同,Vb.Net中没有增量运算符,+ / -符号被视为正/负算术符号(如果在空白空间之间写入,则为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