What is VB\'s equivalent for C#\'s default(T)
The closest equivalent to default(T)
is really CType(Nothing, T)
since it can be used in any context that default(T)
is used (i.e. as an expression).
It's any of these:
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
Assigning Nothing
even to value types is perfectly fine in VB.NET. And the latter is only possible if you specify either New
, or Structure
constraint for the generic type.