Структуры. get{} и set{} - C#

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

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

Дан радиус круга. Надо вывести диаметр, площадь и длину круга. Написал вот так:
Листинг программы
  1. struct CircleParameters
  2. {
  3. private double radius;
  4. private double diameter;
  5. private double square;
  6. private double circleLength;
  7. public double Radius
  8. {
  9. get
  10. {
  11. return radius;
  12. }
  13. set
  14. {
  15. radius = value;
  16. }
  17. }
  18. public double Diameter
  19. {
  20. get
  21. {
  22. return diameter;
  23. }
  24. set
  25. {
  26. diameter = value * 2;
  27. }
  28. }
  29. public double Square
  30. {
  31. get
  32. {
  33. return square;
  34. }
  35. set
  36. {
  37. square = Math.PI * Math.Pow(value, 2);
  38. }
  39. }
  40. public double CircleLength
  41. {
  42. get
  43. {
  44. return circleLength;
  45. }
  46. set
  47. {
  48. circleLength = Math.PI * (value * 2);
  49. }
  50. }
  51. }
  52. static void Main(string[] args)
  53. {
  54. double radius = double.Parse(Console.ReadLine());
  55. CircleParameters parameters = new CircleParameters();
  56. parameters.Radius = radius;
  57. parameters.Diameter = parameters.Radius;
  58. parameters.Square = parameters.Radius;
  59. parameters.CircleLength = parameters.Radius;
  60. Console.WriteLine(parameters.Diameter);
  61. Console.WriteLine(parameters.Square);
  62. Console.WriteLine(parameters.CircleLength);
  63. }
Мне не нравиться эта часть кода:
Листинг программы
  1. parameters.Radius = radius;
  2. parameters.Diameter = parameters.Radius;
  3. parameters.Square = parameters.Radius;
  4. parameters.CircleLength = parameters.Radius;
  5. Console.WriteLine(parameters.Diameter);
  6. Console.WriteLine(parameters.Square);
  7. Console.WriteLine(parameters.CircleLength);
Я сначала ввожу значение для Radius, потом приравниваю это значение к параметрам круга (Diameter, Square, CircleLength), а потом вывожу. Можно ли упростить эту часть кода.
Желательно, чтобы в программе использовались get и set.

Решение задачи: «Структуры. get{} и set{}»

textual
Листинг программы
  1.    struct CircleParameters
  2.         {
  3.             private double radius;
  4.             private double diameter;
  5.             private double square;
  6.             private double circleLength;
  7.            
  8.             public double Radius
  9.             {
  10.                 get
  11.                 {
  12.                     return radius;
  13.                 }
  14.                 set
  15.                 {
  16.                     radius = value;
  17.                 }
  18.             }
  19.             public double Diameter
  20.             {
  21.                 get
  22.                 {
  23.                     return diameter;
  24.                 }
  25.                 set
  26.                 {
  27.                     diameter = value * 2;
  28.                 }
  29.             }
  30.             public double Square
  31.             {
  32.                 get
  33.                 {
  34.                     return square;
  35.                 }
  36.                 set
  37.                 {
  38.                     square = Math.PI * Math.Pow(value, 2);
  39.                 }
  40.             }
  41.             public double CircleLength
  42.             {
  43.                 get
  44.                 {
  45.                     return circleLength;
  46.                 }
  47.                 set
  48.                 {
  49.                     circleLength = Math.PI * (value * 2);
  50.                 }
  51.             }
  52.             public CircleParameters(double Radius, double Diameter, double Square, double CircleLength) : this() {
  53.                 this.Radius = Radius;
  54.                 this.Diameter = Diameter;
  55.                 this.Square = Square;
  56.                 this.CircleLength = CircleLength;
  57.             }
  58.  
  59.         }
  60.  
  61.         public static void Main(string[] args)
  62.         {
  63.             double radius = double.Parse(Console.ReadLine());
  64.             CircleParameters parameters = new CircleParameters(radius, radius, radius, radius);
  65.             Console.WriteLine(parameters.Diameter+"\n"+parameters.Square+"\n"+parameters.CircleLength);
  66.         }

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


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

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

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

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

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

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