我不时地看到这一点,想知道它是什么.我确实试过谷歌,但它过滤掉搜索中的字符.我有几本书也没有引用它.
FWIW,我记得在pascal中是赋值运算符.
任何人都可以指向MSDN或类似页面吗?
您可以使用:=语法按名称将参数分配给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宏,它使用了很多.
当有多个可选参数时,它非常有用 - 您可以看到很多代码正在调用办公室对象模型 - Word,Excel等.如果有40个参数,其中37个是可选参数,并且您想要为参数设置值34 40,使用起来要清楚得多:=而不是看起来像一个函数调用("new","settings",1,,,,,,,,,,,,,,,,,,,, ,,,,,,,,, 43,2 ,,,,, 7)
我想把它作为对JeffK的评论,但我没有足够的代表.