vb.net оператор преинкремента в функции 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 не имеет оператора preincrement, ++N не будет работать вне аргумента функции. Почему этот код компилируется?
1 ответ:
В отличие от C#, в нем нет оператора инкремента. Vb.Net, the
+/-символы рассматриваются как положительные / отрицательные арифметические знаки (или сумма / остаток, если они записаны между пробелами, или если они записаны перед символом присвоения, например+=/-=), Тем не менее, вы можете получить то, что вы хотите аналогичным образом, используя система.нарезка резьбы.Сблокированный.Инкремент функция.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