Console.WriteLine("This is a Shape");
public double Radius { get; set; }
public Circle(double radius)
public override void Display()
Console.WriteLine($"Circle with radius {Radius}");
public double CalculateArea()
return Math.PI * Math.Pow(Radius, 2);
public double Length { get; set; }
public double Width { get; set; }
public Rectangle(double length, double width)
Console.WriteLine($"Rectangle with length {Length} and width {Width}");
public double CalculateArea()
public double CalculatePerimeter()
return 2 * (Length + Width);
Shape[] shapes = { new Circle(9), new Rectangle(4, 8), new Circle(2), new Rectangle(3, 7) };
foreach (var shape in shapes)
foreach (var shape in shapes)
if (shape is Circle circle)
double area = circle.CalculateArea();
Console.WriteLine($"Area: {area}");
else if (shape is Rectangle rectangle)
double area = rectangle.CalculateArea();
Console.WriteLine($"Area: {area}");
foreach (var shape in shapes)
if (shape is Rectangle rectangle)
double perimeter = rectangle.CalculatePerimeter();
Console.WriteLine($"Perimeter: {perimeter}");