Advertisement
Guest User

Untitled

a guest
Jul 23rd, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.34 KB | None | 0 0
  1. using System;
  2.                    
  3. public class Circle
  4. {
  5.     public double X { get; set; }
  6.     public double Y { get; set; }
  7.     public double Radius { get; set; }
  8.    
  9.     public Circle(double X, double Y, double Radius)
  10.     {
  11.         this.X = X;
  12.         this.Y = Y;
  13.         this.Radius = Radius;
  14.     }
  15.    
  16.     public override bool Equals(object obj)
  17.     {
  18.         if (obj == null)
  19.             return false;
  20.         Circle c = obj as Circle;
  21.         if (c as Circle == null)
  22.             return false;
  23.         return c.X == this.X && c.Y == this.Y && c.Radius == this.Radius;
  24.     }
  25.    
  26.     public bool Equals(Circle obj)
  27.     {
  28.         if (obj == null)
  29.             return false;
  30.         return obj.X == this.X && obj.Y == this.Y && obj.Radius == this.Radius;
  31.     }
  32.    
  33.     public override int GetHashCode()
  34.     {
  35.         int HashPoint;
  36.         if (Radius == 5)
  37.             HashPoint = 1;
  38.         else HashPoint = 2;
  39.         return (int) (Radius * (X + Y)) + HashPoint;
  40.     }
  41. }
  42.    
  43. public class Program
  44. {
  45.     public static void Main()
  46.     {
  47.         Circle c1 = new Circle(10, 12, 5);
  48.         Circle c2 = new Circle(10, 12, 5);
  49.         Circle c3 = new Circle(100, 120, 50);
  50.  
  51.         Console.WriteLine("Проверка равности полей: ");
  52.         Console.WriteLine(c1.Equals(c2));
  53.         Console.WriteLine(c1.Equals(c3));
  54.  
  55.         Console.WriteLine("Возвращаем абстрактный хэш код: ");
  56.         Console.WriteLine(c1.GetHashCode());
  57.         Console.WriteLine(c2.GetHashCode());
  58.         Console.WriteLine(c3.GetHashCode());
  59.     }
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement