vb.net - := mean in VB? 是什么

标签 vb.net colon-equals

我一直在使用 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")>

关于vb.net - := mean in VB? 是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32914137/

相关文章:

database - 简单的 VB 2010 应用程序不将数据保存到 Access 2007

.net - 如何计算用户在应用程序上花费的总时间?

go - 运算符 = 和 := in struct in Golang

.net - VB.Net 3.5 检查文件是否正在使用

c++ - 使用 P/Invoke 从 MFC DLL 函数读取 VB.NET 中的结构化数据

r - 为什么data.table定义为:= rather than overloading <-?

mysql - 这个符号是什么意思 := in sql

r - 使用 := multiple times in data. 表

vb.net - 通过 Process.Start() 打开用于在 VB.NET 中编辑的 excel 模板