答案 0 :(得分:7)
据我所知,没有完全等效。
public void DoSomething(SomeClass A = null)
{
}
以下内容之间的C#没有区别:
DoSomething(null);
DoSomething();
您最接近的是对A
的空检查。对于值类型,您可以检查默认值(虽然VB6 IsMissing
不支持'简单数据类型')。
即翻译版本:
Sub DoSomething(Optional A As SomeClass)
If IsMissing(A) Then
'Missing
Else
'Not missing
End Sub
时:
public void DoSomething(SomeClass A = null)
{
if (A == null)
{
//Missing
} else {
//Not missing
}
}