为什么矩形区域及其周长的结果是零?
使用C#
namespace ConsoleApplication8
{
class Program
{
static void Main(string[] args)
{
rec r = new rec();
r.L = Convert.ToInt32(Console.ReadLine());
r.wi = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(r.area());
Console.WriteLine(r.per());
}
}
class rec
{
int l;
int w;
public int L
{
set
{
l = L;
}
get
{
return l;
}
}
public int wi
{
set
{
w = wi;
}
get
{
return w;
}
}
public rec()
{
}
public rec(int x, int y)
{
l = x;
w = y;
}
public double area()
{
return l * w;
}
public int per()
{
return 2 * l + 2 * w;
}
}
}
答案 0 :(得分:5)
set
应使用隐式value
参数。您的代码将属性设置为当前值:
private int width;
public int Width
{
get { return width; }
set { width = value; }
}
请注意,由于您未在get
/ set
中使用任何逻辑,因此您可以使用auto-implemented properties代替:
public int Width {get;set;} // no need to define private backing field.