【问题标题】:The == and != operators can be overloaded to return types other than bool. Strange but true== 和 != 运算符可以重载以返回 bool 以外的类型。奇怪但真实
【发布时间】:2011-08-01 08:59:00
【问题描述】:

我刚刚在 C# 中看到了 bool 运算符可以重载并且可以返回我们想要的任何数据类型的隐藏内容。谁能解释一下。

【问题讨论】:

  • 具体解释一下?并且:你不需要它。

标签: c#-3.0


【解决方案1】:

这是一个使用它的示例:SqlInt32 具有 == 重载以返回 SqlBoolean。这允许与 null 进行 SQL 样式的相等比较(因为 SqlInt32SqlBoolean 都允许表示 null,甚至在引入 Nullable<T> 之前)。

【讨论】:

  • 只是一个小小的澄清,它可能很愚蠢。你能告诉我 == 和 != 运算符是否只能被重载以返回 null。你能给我举个例子吗,因为我什么都没看到。谢谢
  • @Adidas:它返回一个SqlBoolean 值,可以使用SqlBoolean.Null 表示null。
  • 非常感谢。与此类似,我们可以将其转换为 SqlBoolean.ToString() 之类的东西,否则它只能应用于 Null
  • @Adidas:嗯,我无法完全解析你的句子......你可以在 SqlBoolean.Null 上调用 ToString,但我不知道结果会是什么。试试看!
猜你喜欢
  • 1970-01-01
  • 2021-05-08
  • 2019-05-12
  • 2021-03-04
  • 2014-02-02
  • 2016-03-26
  • 2015-01-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多