Я думаю, что это довольно простой вопрос, но я просто хочу уточнить. Если у меня есть переменная с нулевым значением и я передам ее как необязательный параметр, получит ли параметр нулевое значение или значение по умолчанию?
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
, но что someval2
равно в вызове 3? обнуляемый или бар?
Кроме того - я относительно новичок в vb.net и не думаю, что полностью понимаю отличия концепции null / nullable / nothing от C #