【发布时间】:2011-04-15 19:36:06
【问题描述】:
我认为这是一个非常基本的问题,但我只想澄清一下。如果我有一个具有空值的变量,并将其作为可选参数传递,该参数将获取空值还是默认值?
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 等于什么?可以为空还是 bar?
另外 - 我对 vb.net 比较陌生,我认为我不完全理解与 C# 的 null/nullable/nothing 概念差异
【问题讨论】:
标签: vb.net parameters optional-parameters