C#中怎么实现操作符重载

发布时间:2021-07-08 14:17:31 作者:Leah
来源:亿速云 阅读:142

C#中怎么实现操作符重载,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

C#操作符重载学习实践操作

using System;  using System.Collections.Generic;  using System.Linq;  using System.Text;   namespace ConsoleApplication1  {  class MyCls  {  public int X  {  get;  //C#操作符重载set;  }  public int Y  {  get;  set;  }  public override string ToString()  {  return string.Format("X={0},Y={1}", X, Y);  }  public override bool Equals(object obj)  {  MyCls a = obj as MyCls;   return a.X == this.X && a.Y == this.Y;  }  public override int GetHashCode()  {  //C#操作符重载return X * Y;  }    public static MyCls operator +(MyCls a, MyCls b)  {  return new MyCls() { X = a.X + b.X, Y = a.Y + b.Y };  }  public static MyCls operator -(MyCls a, MyCls b)  {  return new MyCls { X = a.X - b.X, Y = a.Y - b.Y };  }  public static MyCls operator ++(MyCls a)  {  return new MyCls() { X = a.X++, Y = a.Y++ };  }  public static MyCls operator --(MyCls a)  {  return new MyCls() { X = a.X--, Y = a.Y-- };  }  public static bool operator ==(MyCls a, MyCls b)  {  return a.X == b.X && a.Y == b.Y;  }  public static bool operator !=(MyCls a, MyCls b)  {  //C#操作符重载return a.X != b.X && a.Y != b.Y;  }  public static void Main()  {  MyCls a = new MyCls { X = 1, Y = 1 };  MyCls b = new MyCls { X = 2, Y = 2 };  Console.WriteLine(a + b);  Console.WriteLine(b - a);  Console.WriteLine(b++);  Console.WriteLine(a--);  Console.WriteLine(a++ == b);  Console.WriteLine(a!= b--);  Console.ReadLine();  }  //C#操作符重载}  }

C#操作符重载程序输出结果:

X=3,Y=3  X=1,Y=1  X=3,Y=3  X=0,Y=0  True  False

关于C#中怎么实现操作符重载问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

推荐阅读:
  1. 逗号操作符重载分析(三十三)
  2. new delete操作符重载

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

上一篇:C#中怎么实现一个数据库操作类

下一篇:Spring如何整合Quartz Job以及Spring Task

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》