c# - 如何在 C# 中覆盖 default(T)?

标签 c# .net overriding default

<分区>

Possible Duplicate:
Howto change what Default(T) returns in C#

print(default(int) == 0) //true

同样,如果我有一个自定义对象,它的默认值将为 null。

print(default(Foo) == null) //true

我可以为 default(Foo) 设置一个自定义值而不是 null 吗?

例如,像这样:

public static override Foo default()
{
    return new Foo();
}

这不会编译。谢谢..

最佳答案

您不能覆盖 default(T) 关键字。对于引用类型,它始终为 null,对于值类型,它始终为零。

更多信息

关于c# - 如何在 C# 中覆盖 default(T)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12793418/

相关文章:

c# - 使用 WPF 和 C# 进行嵌套数据绑定(bind)

具有保留关键字的 C# 枚举

c# - 将最后一项推送到 Observable(序列)

java - Java 与 C++ 中的函数覆盖

c# - 作为函数结果的枚举值

c# - 从 KeyedCollection 获取键列表的最有效方法是什么?

c# - 如何创建包含显示 :Block display: none using Selenium C#? 的加载微调器方法

c# - 如何使用 .net 框架创建我自己的报告控件?

CSS 规则没有像预期的那样相互覆盖

java - equals() 仅依赖于 ID 是否合适?