C#输入圆的半径,使用索引器求圆的面积
时间: 2024-11-04 19:10:47 浏览: 6
cSharp-code-1.zip_c#做求面积_c#圆柱_c#求体积
在C#中,你可以定义一个类表示圆,然后为其添加一个索引器(Indexer),用于获取和设置圆的半径。接着,计算圆的面积可以作为这个索引器的一个隐藏属性。下面是一个简单的示例:
```csharp
public class Circle
{
private double _radius;
// 索引器:获取和设置半径
public double this[int index]
{
get { return _radius; }
set
{
if (index == 0) // 假设索引0对应的是半径
{
_radius = value;
CalculateArea(); // 当半径改变时,自动计算并更新面积
}
else
{
throw new ArgumentException("Invalid index for radius.");
}
}
}
// 计算面积的私有方法
private void CalculateArea()
{
_area = Math.PI * _radius * _radius;
}
// 非公开的面积属性,只读,通过索引器间接访问
private double _area;
// 获取面积的辅助方法,供外部直接调用
public double GetArea() => _area;
}
// 使用示例
Circle myCircle = new Circle();
myCircle[0] = 5; // 设置半径为5
Console.WriteLine($"圆的面积是: {myCircle.GetArea()}"); // 输出面积
```
阅读全文