2016-04-01 44 views
2
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不會在函數參數外工作。 這段代碼爲什麼編譯?vb.net preincrement operator in function arg

+1

提示,還編譯如果你寫的只是+ N或+++ñ – Steve

回答

1

不同於C#,存在Vb.Net沒有遞增運算符,所述+/-符號被視爲正/負算術符號(或總和/休息如果blankspaces之間寫,或者如果分配符號之前寫像+= /然而,您可以使用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 
+0

不同的是 - 經營者(「翻轉」一個數字的符號)一個+運營商似乎一種毫無意義的?我想爲什麼一個沒有真正做任何事情的經營者存在的問題被認爲是偏離主義的? – user6144226