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#中怎么实现操作符重载问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。