在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)

如果您想保留前两个参数的默认设置,并且只想强制includeAddressFalse,您可以这样调用它:

DisplayPerson(, , False)

但这有点令人困惑。许多人发现,指定参数的名称使代码更容易阅读,这样会更容易理解:

DisplayPerson(includeAddress:=False)

由于设置属性属性的参数没有特定的顺序,因此在这里使用命名参数也是很常见的:

<DataContract(Name:="Test")>

相关内容

  • 没有找到相关文章

最新更新