【发布时间】:2012-09-04 03:16:15
【问题描述】:
我读过这篇MSDN document 关于运算符重载的文章。
在该示例中,使用的运算符为+、-,还可以定义其他运算符* 或/。
我想重载?? 运算符以用于类似字符串
string emptyString = emptyString ?? "OtherValue";
而不是
string emptyString = string.IsNullOrEmpty(emptyString) ? "OtherValue" : emptyString;
我不想将字符串转换为对象并使用??进行比较。
我知道?? 用于可空值类型,如 MSDN 所说:
??运算符称为空合并运算符,用于为可空值类型或引用类型定义默认值。
如果操作数不为空,则返回左侧操作数;否则返回正确的操作数。
我想问你是否可以在 C# 中重载这个运算符。上面的例子是需要使用??的简单情况。
【问题讨论】:
标签: c# operators null-coalescing-operator