C# 数学sqrt函数。我错过了什么

C# 数学sqrt函数。我错过了什么,c#,sqrt,C#,Sqrt,我在数学sqrt方法上遇到了问题。 对于这个问题,我已经给出了第一行 专用双平方根双x 我试图写这个方法,但我发现平方根下面有一条红线。 我的方法有什么问题? 谢谢 这是一个计算器,您必须提供如下返回语句: //Add comments here that explain the Sqrt method private void btnSqrt_Click(object sender, EventArgs e) { double num =

我在数学sqrt方法上遇到了问题。 对于这个问题,我已经给出了第一行 专用双平方根双x 我试图写这个方法,但我发现平方根下面有一条红线。 我的方法有什么问题? 谢谢
这是一个计算器,您必须提供如下返回语句:

//Add comments here that explain the Sqrt method
        private void btnSqrt_Click(object sender, EventArgs e)
        {
            double num = double.Parse(textDisplay.Text);
            if (num >= 0)
            {
                textDisplay.Text = SquareRoot(num).ToString();
            }
            else
            {
                MessageBox.Show("Number must be positive", "Error Message");
                textDisplay.Text = "0";
            }
        }

        //Add comments here that explain the Sqrt function
        //What are the arguments and the return value(s)

        //To Do – Add the math sqrt method.

        private double SquareRoot(double x)
        {



            textDisplay.Text = Convert.ToString(Math.Sqrt(Convert.ToDouble(x)));


        }
private double SquareRoot(double x)
{
    return Math.Sqrt(x);
}
。。。或者让它变得空虚。。。像这样:

//Add comments here that explain the Sqrt method
        private void btnSqrt_Click(object sender, EventArgs e)
        {
            double num = double.Parse(textDisplay.Text);
            if (num >= 0)
            {
                textDisplay.Text = SquareRoot(num).ToString();
            }
            else
            {
                MessageBox.Show("Number must be positive", "Error Message");
                textDisplay.Text = "0";
            }
        }

        //Add comments here that explain the Sqrt function
        //What are the arguments and the return value(s)

        //To Do – Add the math sqrt method.

        private double SquareRoot(double x)
        {



            textDisplay.Text = Convert.ToString(Math.Sqrt(Convert.ToDouble(x)));


        }
private double SquareRoot(double x)
{
    return Math.Sqrt(x);
}

您的方法指定它返回一个双精度值,但它的主体中没有return语句。要纠正此错误,请将方法更改为以下内容:

 private void SquareRoot(double x)
我删除了Convert.ToDouble,因为您的参数的类型为double,也删除了Convert.ToString,因为您已经在调用函数的前面调用了ToString。

您的方法应该返回double,并且不应该更改textbox属性

private double SquareRoot(double x)
{
    return Math.Sqrt(x);
}

您必须返回值

private double SquareRoot(double x)
{
    return Math.Sqrt(x);
}

在来到这里之前,您应该学会仔细查看VS提供的帮助!它肯定告诉您您的方法缺少签名中承诺的返回值。您调用了Math.Sqrt和Convert.ToDouble两次。甚至不需要Convert.ToDouble,因为参数的类型已经是double。@Wazner,是的,我正在编辑它。你能取消投票给我吗?没问题,我取消了我的否决票。在快速编辑方面做得很好:@Wazner,谢谢!在我添加答案之前,我注意到有零个答案,当我提交时,有三个!名称CMath在当前上下文中不存在