Что означает эта строка "Circle c = obj as Circle;" ? - C#

Узнай цену своей работы

Формулировка задачи:

Ребят есть код по задаче все сделал верно вроде но.. не могу понять строку
Листинг программы
  1. Circle c = obj as Circle;
написал чисто с памяти ее , может ели я правильно понял то создается объект "С" и он равен чему-то , объясните чайнику 8)
Листинг программы
  1. //Создайте класс окружность с полями координаты центра и радиус и переопределите в нем корректно методы Equals
  2. // и GetHashCode.Окружности равны если у них одинаковые координаты центра и радиусы.
  3. namespace ConsoleApp2
  4. {
  5. class Circle
  6. {
  7. public int Centr { get; set; }
  8. public int Radius { get; set; }
  9. public Circle(int Centr, int Radius)
  10. {
  11. this.Centr = Centr;
  12. this.Radius = Radius;
  13. }
  14. public Circle()
  15. {
  16. }
  17. public override bool Equals(object obj)
  18. {
  19. if (obj == null)
  20. return false;
  21. Circle c = obj as Circle;
  22. if (obj as Circle == null)
  23. return false;
  24. return c.Centr == this.Centr && c.Radius == this.Radius;
  25. }
  26. public bool Equals(Circle obj)
  27. {
  28. if (obj == null)
  29. return false;
  30. return obj.Centr == this.Centr && obj.Radius == this.Radius;
  31. }
  32. public override int GetHashCode()
  33. {
  34. int UniCode;
  35. if (Radius == 32)
  36. UniCode = 1;
  37. else
  38. UniCode = 2;
  39. return (int) Centr + UniCode;
  40. }
  41. }
  42. class Program
  43. {
  44. static void Main(string[] args)
  45. {
  46. Circle c1 = new Circle(12,32);
  47. Circle c2 = new Circle(21, 2);
  48. Circle c3 = new Circle(12, 32);
  49. Circle c4 = c1;
  50. Console.WriteLine(c1.Equals(c2)); // False;
  51. Console.WriteLine(c1.Equals(c4)); // True;
  52. Console.WriteLine(c1.Equals(c3)); // True;
  53. Console.WriteLine(c1 == c2); // False;
  54. Console.WriteLine(c4 == c1); // True;
  55. Console.WriteLine(c1.GetHashCode());
  56. Console.WriteLine(c1.GetHashCode());
  57. Console.WriteLine(c2.GetHashCode());
  58. Console.ReadLine();
  59. }
  60. }
  61. }

Решение задачи: «Что означает эта строка "Circle c = obj as Circle;" ?»

textual
Листинг программы
  1. public override bool Equals(object obj) => Equals(obj as Circle);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.182 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы