C#允许运算符重载剖析

本文向大家介绍C#允许运算符重载,可能好多人还不了解C#允许运算符重载,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。

C#允许运算符重载

与 C++ 一样,C#允许运算符重载,以供在我们自己的类中使用。这可能使得用户定义的数据类型看起来很自然,并且可以在逻辑上作为基本数据类型使用。例如,我们可以创建一个新的名为 Complex 的数据类型来表示一个复杂的数字,并且提供一些方法,以使用标准的算术运算符对这样的数字进行算术运算,例如使用 + 运算符来使两个复杂的数字相加。

为了重载一个运算符,我们编写了一个函数,它将需要重载的运算符的符号放在名称 operator 的后面。例如,我们可以这样来重载 + 运算符:

 
 
 
  1. public static complex operator+(complex lhs, complex rhs) 

所有的运算符重载都是类的静态方法。同时也需要注意,如果您重载等于运算符 (==),您还必须重载不等于运算符 (!=)。

可以C#允许运算符重载完整列表如下:

一元运算符: +, -, !, ~, ++, --, true, false

二元运算符: +, -, *, /, %, &, |, ^, <<, >>, ==, !=, >, <, >=, <=

下一个示例创建了一个 Complex 类,该类重载 + 和 - 运算符:

 
 
 
  1. using System;  
  2. public class complex  
  3. {  
  4. private float real;  
  5. private float img;  

【编辑推荐】

  1. C#方法重写全面介绍
  2. C#流程控制语句简单描述
  3. Java和C#字符串类型概述
  4. C#访问修饰符详细剖析
  5. 选择C#构造函数描述
THE END