为什么我的圈子值为零?
这是我的Circle类代码。
class Circle { private double radius; private double area; public Circle(double radius) { this.radius = radius; } public double Area { set { area = Math.PI * Math.Pow(radius, 2); } get { return area; } } }
这是测试代码。
Circle circle1 = new Circle(3); MessageBox.Show("Circle 1 Area: " + circle1.Area);
所以出于某种原因,当我使用MessageBox.Show()时,它似乎给我的值为零。 我给圆圈的值为3,所以我的构造函数不应该设置半径的值吗?
因为你还没有在Area上调用setter。 也许你想要这样的东西呢?
class Circle { private double radius; public Circle(double radius) { this.radius = radius; } public double Area { get { return Math.PI * Math.Pow(radius, 2); } } }
这将在每次请求时计算区域。
您的Area
属性应为:
public double Area { get { return Math.PI * Math.Pow(radius, 2); } }
而且你不需要area
字段。
我不确定你在这个实例中需要一个set
(你没有使用它)
尝试
get { return Math.PI * Math.Pow(radius, 2); }