对于字段来说,是在对象创建时就被初始化了;而构造函数的运行是在这之后。
因此,不能对字段进行需要用到“构造函数赋值的变量”的运算,因为此时这些变量的值都为0或者随机值,编译器不允许这时候做运算。
因此,正确的方法是把字段定义放在最前面,把字段进行的运算赋值放到方法或者属性中,避免报错
class rectangle
{
private int a,b;
public rectangle() { }
public rectangle(int a,int b)
{
this.a = a;
this.b = b;
}
public void read()
{
int C = (a + b) * 2;
int S = a * b;
Console.WriteLine(string.Format("矩形周长为{0},面积为{1}。", C, S));
}
}