Что означает эта строка "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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д