Структуры. get{} и set{} - C#
Формулировка задачи:
Дан радиус круга. Надо вывести диаметр, площадь и длину круга. Написал вот так:
Мне не нравиться эта часть кода:
Я сначала ввожу значение для Radius, потом приравниваю это значение к параметрам круга (Diameter, Square, CircleLength), а потом вывожу. Можно ли упростить эту часть кода.
struct CircleParameters
{
private double radius;
private double diameter;
private double square;
private double circleLength;
public double Radius
{
get
{
return radius;
}
set
{
radius = value;
}
}
public double Diameter
{
get
{
return diameter;
}
set
{
diameter = value * 2;
}
}
public double Square
{
get
{
return square;
}
set
{
square = Math.PI * Math.Pow(value, 2);
}
}
public double CircleLength
{
get
{
return circleLength;
}
set
{
circleLength = Math.PI * (value * 2);
}
}
}
static void Main(string[] args)
{
double radius = double.Parse(Console.ReadLine());
CircleParameters parameters = new CircleParameters();
parameters.Radius = radius;
parameters.Diameter = parameters.Radius;
parameters.Square = parameters.Radius;
parameters.CircleLength = parameters.Radius;
Console.WriteLine(parameters.Diameter);
Console.WriteLine(parameters.Square);
Console.WriteLine(parameters.CircleLength);
} parameters.Radius = radius;
parameters.Diameter = parameters.Radius;
parameters.Square = parameters.Radius;
parameters.CircleLength = parameters.Radius;
Console.WriteLine(parameters.Diameter);
Console.WriteLine(parameters.Square);
Console.WriteLine(parameters.CircleLength);
Желательно, чтобы в программе использовались get и set.
Решение задачи: «Структуры. get{} и set{}»
textual
Листинг программы
struct CircleParameters
{
private double radius;
private double diameter;
private double square;
private double circleLength;
public double Radius
{
get
{
return radius;
}
set
{
radius = value;
}
}
public double Diameter
{
get
{
return diameter;
}
set
{
diameter = value * 2;
}
}
public double Square
{
get
{
return square;
}
set
{
square = Math.PI * Math.Pow(value, 2);
}
}
public double CircleLength
{
get
{
return circleLength;
}
set
{
circleLength = Math.PI * (value * 2);
}
}
public CircleParameters(double Radius, double Diameter, double Square, double CircleLength) : this() {
this.Radius = Radius;
this.Diameter = Diameter;
this.Square = Square;
this.CircleLength = CircleLength;
}
}
public static void Main(string[] args)
{
double radius = double.Parse(Console.ReadLine());
CircleParameters parameters = new CircleParameters(radius, radius, radius, radius);
Console.WriteLine(parameters.Diameter+"\n"+parameters.Square+"\n"+parameters.CircleLength);
}