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
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