我如何将空白转移到文本框?c#
本文关键字:文本 转移 空白 | 更新日期: 2023-09-27 18:02:51
我想在文本框中显示答案,请帮助我急需
的例子:
public void compute1(double n1, double n2, string opr)
{
if (opr == "-")
{
ans = (n1 - n2);
}
}
private void cmbOperator_SelectedIndexChanged(object sender, EventArgs e)
{
double var1 = Convert.ToDouble(txtFirstOperand.Text);
double var2 = Convert.ToDouble(txtSecondOperand.Text);
if (cmbOperator.Text == "+" || cmbOperator.Text == "-")
{
txtResult.Text = compute1(var1, var2, opr1); //Heres the Error i want to show the answer in the box
}
}
public double compute1(double n1, double n2, string opr)
{
if (opr == "-")
{
return n1 - n2;
}
return null
}
可用性: if (cmbOperator.Text == "+" || cmbOperator.Text == "-")
{
txtResult.Text = (compute1(var1, var2, opr1)).ToString();
}
变化:
在你的compute1
方法中,我们将type
从void
改为double
。这意味着无论何时你调用该方法并传递必要的参数,即compute1(1.22, 4.22, -);
,它将return
计算出的数字作为double
类型,然后我们使用Convert.ToString()
将其转换为String
类型,以便它是文本框的正确type
。
如果操作符不匹配,该方法将返回null
如果您想要分配在方法中计算的内容,则该方法需要返回类型。它不应该是无效的。
public string compute1(double n1, double n2, string opr)
{
var ans = "";
if (opr == "-")
{
ans = (n1 - n2).ToString();
}
return ans;
}
private void cmbOperator_SelectedIndexChanged(object sender, EventArgs e)
{
double var1 = Convert.ToDouble(txtFirstOperand.Text);
double var2 = Convert.ToDouble(txtSecondOperand.Text);
if (cmbOperator.Text == "+" || cmbOperator.Text == "-")
{
txtResult.Text = compute1(var1, var2, opr1); //Heres the Error i want to show the answer in the box
}
}
要将其分配给文本框的文本值,我建议您将其作为字符串返回。如果您愿意,也可以将其作为双精度返回,在这种情况下,从上面的代码中删除ToString()
并将返回值设置为双精度。
首先让你的函数实际返回一个结果:
public double compute1(double n1, double n2, string opr)
{
if (opr == "-")
{
return (n1 - n2);
}
return 0.0; // or throw an exception? some other behavior?
}
那么你可以使用返回值:
txtResult.Text = compute1(var1, var2, opr1).ToString();
将您的方法返回类型更改为double?
(可空双精度)并返回您计算的值。我还添加了一个返回null
作为回退,如果你的if条件返回false
public double? compute1(double n1, double n2, string opr)
{
if (opr == "-")
{
return (n1 - n2);
}
else if (opr == "+")
{
return (n1 + n2);
}
return null; // fallback
}
现在,当你调用这个方法时,在检查它是否为空之后,将这个方法调用的结果设置为教科书的Text属性
double? result = compute1(var1, var2, opr1);
if(result!=null)
{
txtResult.Text = result.Value.ToString();
}