c#如何比较c#if语句中的两个值

时间:2017-05-03 13:30:40

标签: c# boolean

我创建了一个简单的矩形类,我需要比较同一个矩形的两边,但我不知道这是怎么回事。在方法isSquare()下面的this.width出现错误

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Rectangle
{
    class Rectangleclass
    {
        private String name; 
        private double length = 0.0;
        private double width = 0.0;

        public Rectangleclass(String n, double l, double w)
        {
            name = n;
            length = l;
            width = w;
        }

        public String Name() { return name; }
        public double Length() { return length; }
        public double Width() { return width; }


        public double Area()
        {
            return length * width;
        }


        public bool IsSquare()
        { 
            if (this.Width() = this.Length())
            {
                return true;
            }
            else
            {
                return false;
            }
        }

    }
}

3 个答案:

答案 0 :(得分:0)

您要为另一个分配一个值,您需要==进行比较。

试试这个

    public bool IsSquare()
    { 
        return Width() == Length();
    }

答案 1 :(得分:0)

您遇到语法错误 - 您使用的是赋值运算符=而不是比较运算符==

在返回布尔值时,您也可以简化逻辑:

    public bool IsSquare()
    { 
        return this.Width() == this.Length();
    }

答案 2 :(得分:0)

首先,单个=表示您正在尝试为某个值分配值,您没有在那里进行比较,因此if语句中存在错误。

此外,您可以将整个方法缩短为一行:

public bool IsSquare()
{ 
    return this.Width() == this.Length();
}