我认为这是一个非常基本的问题,但我只想澄清一下。如果我有一个具有空值的变量,并将其作为可选参数传递,该参数将获取空值还是默认值?
dim str As String = "foo"
dim obj As Object
//call 1
Request(str, str)
//call 2
Request(str)
//call 3
Request(str, obj)
public Function Request(byVal someVal As String, Optional ByVal someVal2 As String = "bar")
...
我知道调用 1 将someval == someval2 == "foo"
在函数内部进行,调用 2 将进行someval == "foo"
,someval2 == "bar"
并且调用 3 将进行someval == foo
,但调用 3 中someval2
等于什么?可以为空还是酒吧?
另外 - 我对 vb.net 比较陌生,我认为我不完全理解与 C# 的 null/nullable/nothing 概念差异