您好,登錄后才能下訂單哦!
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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。