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