public int CompareTo(object obj) { if (obj == null) { return(1); } DegreeDimens degreeValue = obj as DegreeDimens; if (degreeValue != null) { return(this.angDegree.CompareTo(degreeValue.angDegree)); } else { throw new ArgumentException("Need a number"); } }
static void Main() { Angle a = new Angle("a", 3, 36, 53); Angle b = new Angle("b", 4, 27, 45); Angle c = new Angle("c", 8, 4, 38); Angle[] anglesArray = new Angle[3] { a, b, c }; Angles anglesList = new Angles(anglesArray); foreach (Angle ang in anglesList) { Console.WriteLine("Angle " + ang.angName + " " + ang.angDegree + "^ " + ang.angMinutes + "' " + ang.angSeconds + "\""); } Angle d = new Angle(); d = a + b; Console.WriteLine("Angle " + d.angName + " " + d.angDegree + "^ " + d.angMinutes + "' " + d.angSeconds + "\""); if (c != d) { Console.WriteLine("Angles are not equall"); } else { Console.WriteLine("Angles {0} and {1} are equall\n", c.angName, d.angName); } var obj = new Angle(); obj[0] = d; obj[1] = a; obj[2] = c; obj[3] = b; Console.WriteLine("Indexerul pentru 4 obiecte tip Angle :\n{0}\n{1}\n{2}\n{3}\n", obj[0], obj[1], obj[2], obj[3]); ArrayList dimensions = new ArrayList(); Random rnd = new Random(); for (int ctr = 1; ctr <= 10; ctr++) { int degrees = rnd.Next(0, 179); DegreeDimens temp = new DegreeDimens(); temp.Dimension = degrees; dimensions.Add(temp); } dimensions.Sort(); foreach (DegreeDimens temp in dimensions) { Console.WriteLine(temp.Dimension); } Console.ReadKey(); }