我不时看到这个,想知道它是什么。我确实尝试过 google,但它从搜索中过滤掉了字符。我有几本书也没有参考。
FWIW,我记得帕斯卡是赋值运算符。
谁能指出我的 MSDN 或类似页面?
我不时看到这个,想知道它是什么。我确实尝试过 google,但它从搜索中过滤掉了字符。我有几本书也没有参考。
FWIW,我记得帕斯卡是赋值运算符。
谁能指出我的 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 宏中,它经常使用它。
当有多个可选参数时,它非常有用 - 您会在调用 Office 对象模型(Word、Excel 等)的代码中看到很多。当您有 40 个参数,其中 37 个是可选参数,并且您想为参数 34 设置值时和 40,使用 := 比使用看起来像 ("new", "settings", 1, ,,,,,,,,,,,,,,,,,,, 的函数调用要清晰得多,,,,,,,,,43,,2,,,,,7)
我想对 JeffK 发表评论,但我没有足够的代表。
VB 使用该运算符进行属性值分配:
http://www.ondotnet.com/pub/a/dotnet/excerpt/vbnut_8/index1.html