谷歌搜索只是找到了关键字,但我偶然发现了一些代码,上面写着
MyVariable = default(MyObject);
我想知道这意味着什么。
- 对于引用类型,它返回
null
- 对于除以下以外的值类型
Nullable<T>
它返回一个零初始化值
- For
Nullable<T>
它返回空(伪空)值(实际上,这是第二个项目符号的重新声明,但值得明确说明)
最大的用途是default(T)
是在泛型中,像这样的东西Try...
图案:
bool TryGetValue(out T value) {
if(NoDataIsAvailable) {
value = default(T); // because I have to set it to *something*
return false;
}
value = GetData();
return true;
}
碰巧,我也在一些代码生成中使用它,初始化字段/变量很痛苦 - 但如果你知道类型:
bool someField = default(bool);
int someOtherField = default(int);
global::My.Namespace.SomeType another = default(global::My.Namespace.SomeType);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)