如何在 VB 中为泛型创建默认值?在 C# 中我可以调用:
T variable = default(T);
- 如何在 VB 中执行此操作?
- 如果这只是返回 null (C#) 或什么都不返回 (vb) 那么值类型会发生什么情况?
- 有没有办法为自定义类型指定默认值?例如,如果我希望默认值等同于在我的类上调用无参数构造函数,该怎么办。
最佳答案
问题一:
Dim variable As T
' or '
Dim variable As T = Nothing
' or '
Dim variable As New T()
请注意,后者仅在您为泛型类型指定 Structure
约束时有效(对于引用类型,VB 中的 New T()
做的事情不是 default(T)
在 C# 中。
问题2:
对于值类型,结构的所有成员都被“清空”,即所有引用类型成员都设置为 null
(Nothing
),并且所有值类型依次为归零。
不,因为 string
是引用类型,它不会导致 ""
字符串,如其他答案中所建议的那样。
问题三:
不,没有办法指定它。 Stack Overflow 上已经有一些关于此的线程,例如here .乔恩发布了一个excellent explanation这是为什么。
关于c# - 泛型的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/354136/