これはかなり基本的な質問だと思いますが、明確にしたいだけです。null 値を持つ変数があり、それをオプションのパラメーターとして渡す場合、パラメーターは null 値またはデフォルト値を取得しますか?
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")
...
call 1 がsomeval == someval2 == "foo"
関数内で行われ、call 2 が行わsomeval == "foo"
れsomeval2 == "bar"
、call 3 が行われることはわかっていますが、call 3someval == foo
では何がsomeval2
等しいのでしょうか? nullableまたはバー?
また、私は vb.net に比較的慣れていないため、C# との null/nullable/nothing の概念の違いを完全には理解していないと思います。