Mega Code Archive

 
Categories / C# by API / System
 

New ArgumentException()

using System; using System.Collections.Generic; using System.Text; public struct Point : IComparable {     private int x, y;     public Point(int xPos, int yPos) {         x = xPos;         y = yPos;     }     public static Point operator +(Point p1, Point p2) { return new Point(p1.x + p2.x, p1.y + p2.y); }     public static Point operator -(Point p1, Point p2) { return new Point(p1.x - p2.x, p1.y - p2.y); }     public static bool operator ==(Point p1, Point p2) { return p1.Equals(p2); }     public static bool operator !=(Point p1, Point p2) { return !p1.Equals(p2); }     public static bool operator <(Point p1, Point p2) { return (p1.CompareTo(p2) < 0); }     public static bool operator >(Point p1, Point p2) { return (p1.CompareTo(p2) > 0); }     public static bool operator <=(Point p1, Point p2) { return (p1.CompareTo(p2) <= 0); }     public static bool operator >=(Point p1, Point p2) { return (p1.CompareTo(p2) >= 0); }     public static Point operator ++(Point p1) { return new Point(p1.x + 1, p1.y + 1); }     public static Point operator --(Point p1) { return new Point(p1.x - 1, p1.y - 1); }     public override bool Equals(object o) {         if (o is Point) {             if (((Point)o).x == this.x &&                 ((Point)o).y == this.y)                 return true;         }         return false;     }     public override int GetHashCode() { return this.ToString().GetHashCode(); }     public override string ToString() {         return string.Format("[{0}, {1}]", this.x, this.y);     }     public int CompareTo(object obj) {         if (obj is Point) {             Point p = (Point)obj;             if (this.x > p.x && this.y > p.y)                 return 1;             if (this.x < p.x && this.y < p.y)                 return -1;             else                 return 0;         } else             throw new ArgumentException();     }     public static Point Add(Point p1, Point p2) { return p1 + p2; }     public static Point Subtract(Point p1, Point p2) { return p1 - p2; } } class Program {     static void Main(string[] args) {         Point ptOne = new Point(100, 100);         Point ptTwo = new Point(40, 40);         Console.WriteLine("ptOne = {0}", ptOne);         Console.WriteLine("ptTwo = {0}", ptTwo);         Console.WriteLine("ptOne + ptTwo: {0} ", ptOne + ptTwo);         Console.WriteLine("Point.Add(ptOne, ptTwo): {0} ", Point.Add(ptOne, ptTwo));         Console.WriteLine("ptOne - ptTwo: {0} ", ptOne - ptTwo);         Console.WriteLine("Point.Subtract(ptOne, ptTwo): {0} ", Point.Subtract(ptOne, ptTwo));         Point ptThree = new Point(90, 5);         Console.WriteLine("ptThree = {0}", ptThree);         Console.WriteLine("ptThree += ptTwo: {0}", ptThree += ptTwo);         Point ptFour = new Point(0, 500);         Console.WriteLine("ptFour = {0}", ptFour);         Console.WriteLine("ptFour -= ptThree: {0}", ptFour -= ptThree);         Point ptFive = new Point(10, 10);         Console.WriteLine("ptFive = {0}", ptFive);         Console.WriteLine("++ptFive = {0}", ++ptFive);         Console.WriteLine("--ptFive = {0}", --ptFive);         Console.WriteLine("ptOne == ptTwo : {0}", ptOne == ptTwo);         Console.WriteLine("ptOne != ptTwo : {0}", ptOne != ptTwo);         Console.WriteLine("ptOne < ptTwo : {0}", ptOne < ptTwo);         Console.WriteLine("ptOne > ptTwo : {0}", ptOne > ptTwo);     } }