Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- public class Circle
- {
- public double X { get; set; }
- public double Y { get; set; }
- public double Radius { get; set; }
- public Circle(double X, double Y, double Radius)
- {
- this.X = X;
- this.Y = Y;
- this.Radius = Radius;
- }
- public override bool Equals(object obj)
- {
- if (obj == null)
- return false;
- Circle c = obj as Circle;
- if (c as Circle == null)
- return false;
- return c.X == this.X && c.Y == this.Y && c.Radius == this.Radius;
- }
- public bool Equals(Circle obj)
- {
- if (obj == null)
- return false;
- return obj.X == this.X && obj.Y == this.Y && obj.Radius == this.Radius;
- }
- public override int GetHashCode()
- {
- int HashPoint;
- if (Radius == 5)
- HashPoint = 1;
- else HashPoint = 2;
- return (int) (Radius * (X + Y)) + HashPoint;
- }
- }
- public class Program
- {
- public static void Main()
- {
- Circle c1 = new Circle(10, 12, 5);
- Circle c2 = new Circle(10, 12, 5);
- Circle c3 = new Circle(100, 120, 50);
- Console.WriteLine("Проверка равности полей: ");
- Console.WriteLine(c1.Equals(c2));
- Console.WriteLine(c1.Equals(c3));
- Console.WriteLine("Возвращаем абстрактный хэш код: ");
- Console.WriteLine(c1.GetHashCode());
- Console.WriteLine(c2.GetHashCode());
- Console.WriteLine(c3.GetHashCode());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement