什么是(VB).NET中的“:=”运算符或它有什么用处?

时间:2008-11-19 16:29:17

标签: .net vb.net colon-equals

我不时地看到这一点,想知道它是什么。我确实试过谷歌,但它过滤掉搜索中的字符。我有几本书也没有引用它。

FWIW,我记得在pascal中是赋值运算符。

有人能指出我的MSDN或类似页面吗?

3 个答案:

答案 0 :(得分:28)

您可以使用:=语法按名称将参数分配给Sub或Function,而不是严格按位置分配。例如:

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        TestRoutine(Y:="TestString", X:=12)
    End Sub

    Private Sub TestRoutine(ByVal X As Long, Optional Y As String = "")
        ' Do something with X and Y here... '
    End Sub

End Class

请注意,TestRoutine将X指定为第一个参数,将Y指定为第二个参数,但Form1_Load中的调用以相反的顺序指定它们,并使用:=运算符命名每个参数。

以下是有关该主题的MSDN文章的链接:

http://msdn.microsoft.com/en-us/library/51wfzyw0.aspx

我没有经常使用这种方法,除了Excel的宏录制器生成的VBA宏,它使用 很多

答案 1 :(得分:11)

当有多个可选参数时,它非常有用 - 您可以看到很多代码正在调用办公室对象模型 - Word,Excel等。当您有40个参数时,其中37个是可选参数,并且您想要设置值对于参数34和40,使用的是 lot 更清晰:=而不是具有看起来像的函数调用(“new”,“settings”,1 ,,,,,,,,,, ,,,,,,,,,,,,,,,,,,, 43,2 ,,,,, 7)

我想把它作为对JeffK的评论,但我没有足够的代表。

答案 2 :(得分:4)

VB使用该运算符进行属性值赋值:

http://www.ondotnet.com/pub/a/dotnet/excerpt/vbnut_8/index1.html