我的矩形区域和周长在C#中为零

时间:2014-05-03 03:35:14

标签: c#

为什么矩形区域及其周长的结果是零?

使用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;
            }
    }

}

1 个答案:

答案 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.