C# - 返回变量时方法名称预期错误?

C# - Method name expected error when returning variable?

我只是想 return 一个方法中的双精度值,但我一直在 return 变量行上得到“预期的方法名称”:

public class Rectangle
{
    private double height;
    private double width;

    public Rectangle(double h, double w)
    {
        height = h;
        width = w;
    }

    public double perimeter()
    {
        double perimeter = ((2 * height) + (2 * width));
        return perimeter();
    }

看来这应该很简单,我不知道哪里出了问题!我尝试将变量名称更改为其他名称,但 Visual Studio INSISTS 我需要将方法名称放在 return 行,而不是我尝试 return 的变量。

最好不要将变量命名为与方法相同的名称。

正确的声明是:

public double Perimeter()
{
    double perimeter = ((2 * height) + (2 * width));
    return perimeter;
}

public double Perimeter()
{
    return ((2 * height) + (2 * width));
}

或单线

public double Perimeter() => ((2 * height) + (2 * width));

或 属性(来自@ckuri 评论)

public double Perimeter => ((2 * height) + (2 * width));