本文向大家介绍C#允许运算符重载,可能好多人还不了解C#允许运算符重载,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。
C#允许运算符重载
与 C++ 一样,C#允许运算符重载,以供在我们自己的类中使用。这可能使得用户定义的数据类型看起来很自然,并且可以在逻辑上作为基本数据类型使用。例如,我们可以创建一个新的名为 Complex 的数据类型来表示一个复杂的数字,并且提供一些方法,以使用标准的算术运算符对这样的数字进行算术运算,例如使用 + 运算符来使两个复杂的数字相加。
为了重载一个运算符,我们编写了一个函数,它将需要重载的运算符的符号放在名称 operator 的后面。例如,我们可以这样来重载 + 运算符:
- public static complex operator+(complex lhs, complex rhs)
所有的运算符重载都是类的静态方法。同时也需要注意,如果您重载等于运算符 (==),您还必须重载不等于运算符 (!=)。
可以C#允许运算符重载完整列表如下:
一元运算符: +, -, !, ~, ++, --, true, false
二元运算符: +, -, *, /, %, &, |, ^, <<, >>, ==, !=, >, <, >=, <=
下一个示例创建了一个 Complex 类,该类重载 + 和 - 运算符:
- using System;
- public class complex
- {
- private float real;
- private float img;
- }
【编辑推荐】