C# 中的运算符重载与可空类型详解
1. 运算符重载
运算符重载允许在类或结构体上定义运算符,使其能够使用运算符语法。这在对特定运算符有明确含义的数据类型上非常有用,能让用户的表达更加简洁。
1.1 一元运算符
所有一元运算符都被定义为静态函数,它们接受一个类或结构体类型的单个操作数,并返回该类型的操作数。可重载的一元运算符如下:
+ - ! ~ ++ -- true false
前六个一元重载运算符在对类型执行相应操作时被调用。 true 和 false 运算符适用于布尔类型,在某些情况下, if (a == true) 并不等同于 if (! (a == false)) ,例如在 System.Data.SQL 命名空间的 SQL 类型中,存在既非 true 也非 false 的空状态。此时,编译器会使用重载的 true 和 false 运算符来正确计算此类语句,这些运算符必须返回 bool 类型。而且,无法区分前置和后置递增或递减操作,由于运算符是静态的(因此没有状态),这种区分并不重要。
1.2 二元运算符
所有二元运算符接受两个参数,其中至少有一个必须是声明该运算符的类或结构体类型。二元运算符可以返回任何
超级会员免费看
订阅专栏 解锁全文
7847

被折叠的 条评论
为什么被折叠?



