Что означает эта строка "Circle c = obj as Circle;" ? - C#
Формулировка задачи:
Ребят есть код по задаче все сделал верно вроде но.. не могу понять строку
написал чисто с памяти ее , может ели я правильно понял то создается объект "С" и он равен чему-то , объясните чайнику 8)
Листинг программы
- Circle c = obj as Circle;
Листинг программы
- //Создайте класс окружность с полями координаты центра и радиус и переопределите в нем корректно методы Equals
- // и GetHashCode.Окружности равны если у них одинаковые координаты центра и радиусы.
- namespace ConsoleApp2
- {
- class Circle
- {
- public int Centr { get; set; }
- public int Radius { get; set; }
- public Circle(int Centr, int Radius)
- {
- this.Centr = Centr;
- this.Radius = Radius;
- }
- public Circle()
- {
- }
- public override bool Equals(object obj)
- {
- if (obj == null)
- return false;
- Circle c = obj as Circle;
- if (obj as Circle == null)
- return false;
- return c.Centr == this.Centr && c.Radius == this.Radius;
- }
- public bool Equals(Circle obj)
- {
- if (obj == null)
- return false;
- return obj.Centr == this.Centr && obj.Radius == this.Radius;
- }
- public override int GetHashCode()
- {
- int UniCode;
- if (Radius == 32)
- UniCode = 1;
- else
- UniCode = 2;
- return (int) Centr + UniCode;
- }
- }
- class Program
- {
- static void Main(string[] args)
- {
- Circle c1 = new Circle(12,32);
- Circle c2 = new Circle(21, 2);
- Circle c3 = new Circle(12, 32);
- Circle c4 = c1;
- Console.WriteLine(c1.Equals(c2)); // False;
- Console.WriteLine(c1.Equals(c4)); // True;
- Console.WriteLine(c1.Equals(c3)); // True;
- Console.WriteLine(c1 == c2); // False;
- Console.WriteLine(c4 == c1); // True;
- Console.WriteLine(c1.GetHashCode());
- Console.WriteLine(c1.GetHashCode());
- Console.WriteLine(c2.GetHashCode());
- Console.ReadLine();
- }
- }
- }
Решение задачи: «Что означает эта строка "Circle c = obj as Circle;" ?»
textual
Листинг программы
- public override bool Equals(object obj) => Equals(obj as Circle);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д