C#允许运算符重载剖析

开发 后端
这里介绍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#构造函数描述
责任编辑:佚名 来源: 51CTO
相关推荐

2009-08-12 10:47:03

C#运算符重载

2009-08-12 10:27:12

C#运算符重载运算符重载实例

2009-08-14 10:16:57

C#运算符重载

2009-08-12 10:56:47

C#运算符重载C#运算符重载实例

2009-08-12 12:46:11

C#运算符重载

2009-08-12 10:37:13

C#运算符重载

2009-08-11 15:51:08

C#运算符算术运算符

2009-08-12 11:20:51

C#运算符重载

2009-08-12 09:30:10

C#??运算符

2009-08-12 15:20:18

C#赋值运算符复合赋值运算符

2009-08-12 15:02:49

C#赋值运算符简单赋值运算符

2009-08-12 14:49:33

C#移位运算符

2009-09-01 10:08:57

C#运算符

2009-08-12 13:35:22

C#关系运算符

2009-08-12 14:29:32

C#条件运算符

2009-08-11 14:16:38

C# New运算符

2021-12-15 10:25:57

C++运算符重载

2011-07-15 01:34:36

C++重载运算符

2009-11-06 13:57:52

C#

2009-08-12 14:23:09

C#逻辑运算符
点赞
收藏

51CTO技术栈公众号