【问题标题】:What does := mean in VB?:= 在 VB 中是什么意思?
【发布时间】:2015-12-31 01:48:27
【问题描述】:

我一直在使用 Visual Studio,并且使用 VB。现在,我在编码时给我的 IntelliSense 建议列表中注意到了一个名为 text:= 的东西。我不确定它是什么。谁能给我解释一下?

【问题讨论】:

  • 这是一个命名参数

标签: vb.net colon-equals


【解决方案1】:

它允许您在将参数传递给方法时指定特定参数的值。通常,参数由参数的顺序决定。例如,如果你有这样的方法:

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

【讨论】:

  • 完美解释!
  • 史诗!非常感谢;)
猜你喜欢
  • 2011-01-19
  • 2011-08-12
  • 2017-06-11
  • 2018-03-05
  • 2023-03-27
  • 2016-08-17
  • 2010-12-28
  • 2020-10-27
  • 2013-03-09
相关资源
最近更新 更多