:= 在 VB 中是什么意思?
What does := mean in VB?
我一直在使用 Visual Studio 并使用 VB。现在我在编码时给我的 IntelliSense 建议列表中注意到了一个叫做 text:=
的东西。我不确定那是什么。谁能给我解释一下?
它允许您在将参数传递给方法时指定特定参数的值。通常,参数由参数的顺序决定。例如,如果您有这样的方法:
Public Sub WriteStrings(s1 As String, s2 As String)
Console.AppendLine(s1 & s2)
End Sub
你通常会这样称呼它:
WriteStrings("A", "B") ' Outputs "AB"
但是,您可以使用这样的命名参数调用它:
WriteStrings(s1:="A", s2:="B") ' Outputs "AB"
在那个例子中,唯一真正的优点是,在查看代码时,很明显,每个参数都传递了哪个参数。然而,它也允许以不同的顺序传递参数的有趣可能性。例如:
WriteStrings(s2:="A", s1:="B") ' Outputs "BA"
但是,最常见的地方是参数是可选的。例如,调用此方法时:
Public Sub DisplayPerson(Optional includeName As Boolean = True,
Optional includeAge As Boolean = False,
Optional includeAddress As Boolean = True)
而你想保留前两个参数的默认设置,只想强制 includeAddress
为 False
,你可以这样调用它:
DisplayPerson(, , False)
但这有点令人困惑。很多人发现指定参数的名称可以减少混淆,使代码更易于阅读:
DisplayPerson(includeAddress:=False)
由于设置属性属性的参数没有特定的顺序,所以在这里也经常看到命名参数:
<DataContract(Name:="Test")>
我一直在使用 Visual Studio 并使用 VB。现在我在编码时给我的 IntelliSense 建议列表中注意到了一个叫做 text:=
的东西。我不确定那是什么。谁能给我解释一下?
它允许您在将参数传递给方法时指定特定参数的值。通常,参数由参数的顺序决定。例如,如果您有这样的方法:
Public Sub WriteStrings(s1 As String, s2 As String)
Console.AppendLine(s1 & s2)
End Sub
你通常会这样称呼它:
WriteStrings("A", "B") ' Outputs "AB"
但是,您可以使用这样的命名参数调用它:
WriteStrings(s1:="A", s2:="B") ' Outputs "AB"
在那个例子中,唯一真正的优点是,在查看代码时,很明显,每个参数都传递了哪个参数。然而,它也允许以不同的顺序传递参数的有趣可能性。例如:
WriteStrings(s2:="A", s1:="B") ' Outputs "BA"
但是,最常见的地方是参数是可选的。例如,调用此方法时:
Public Sub DisplayPerson(Optional includeName As Boolean = True,
Optional includeAge As Boolean = False,
Optional includeAddress As Boolean = True)
而你想保留前两个参数的默认设置,只想强制 includeAddress
为 False
,你可以这样调用它:
DisplayPerson(, , False)
但这有点令人困惑。很多人发现指定参数的名称可以减少混淆,使代码更易于阅读:
DisplayPerson(includeAddress:=False)
由于设置属性属性的参数没有特定的顺序,所以在这里也经常看到命名参数:
<DataContract(Name:="Test")>