VB中对应于C#的default(T)
的是什么 - 默认操作符
这可能是以下任何一种情况:
Dim variable As T
Dim variable As T = Nothing
Dim variable As New T()
Dim variable As T = CType(Nothing, T) 'this is suggested by reflector
在VB.NET中,即使是值类型,将Nothing
赋值给它也完全没问题。而且只有在为泛型类型指定New
或Structure
约束时才能实现后者。
default(T)
的最接近等效物实际上是CType(Nothing, T)
,因为它可以在任何default(T)
被使用的上下文中使用(即作为表达式)。
If Not id = CType(Nothing, TId) Then...
这种情况。 - Rowland ShawIf Not id Is Nothing Then ...
。在这个上下文中,你不需要强制转换空值。 - panopticoncentral
Debug.Assert
调用。只需下载并按 F5 运行即可。 - patridge