【问题标题】:The name does not exist in the current context when using an if statement [duplicate]使用 if 语句时,名称在当前上下文中不存在 [重复]
【发布时间】:2020-04-17 19:08:59
【问题描述】:

我想用用户给出的小数位数来计算 Pi,当输入为 0 时,变量 piNumber 应该设置为“3”而不是“3”,这样输出就没有无用了逗号。

这行得通

        static string PiNumberFinder(int amountOfDigits)
    {
        string piNumber = "3,";
        int dividedBy = 11080585;
        int divisor = 78256779;
        int result;
        for (int i = 0; i < amountOfDigits; i++)
        {
            if (dividedBy < divisor)
                dividedBy *= 10;

            result = dividedBy / divisor;

            string resultString = result.ToString();
            piNumber += resultString;

            dividedBy = dividedBy - divisor * result;
        }

        return piNumber;
    }

但如果使用 if 语句则不会

        static string PiNumberFinder(int amountOfDigits)
    {
        int dividedBy = 11080585;
        int divisor = 78256779;
        int result;
        if (amountOfDigits == 0)
        {
            string piNumber = "3";
        }
        else
        {
            string piNumber = "3,";
        }
        for (int i = 0; i < amountOfDigits; i++)
        {
            if (dividedBy < divisor)
                dividedBy *= 10;

            result = dividedBy / divisor;

            string resultString = result.ToString();
            piNumber += resultString;  // I get an error here

            dividedBy = dividedBy - divisor * result;
        }

        return piNumber;  // I get an error here
    }

对于上面代码中指向的行,我两次收到错误“当前上下文中不存在名称 'piNumber'”

【问题讨论】:

  • 您在if 语句的范围内定义变量。将变量移到if 之外并赋值。
  • 在 if 语句之前声明字符串 piNumber,并在语句内部更改它
  • 谢谢,题外话,但是在 Python 中,当 try 语句没有引发错误时,您可以使用 else 语句。 c#中有这样的东西吗?

标签: c# if-statement


【解决方案1】:

您在if 语句中为piNumber 变量声明并赋值,因此它在此范围之外不可用。尝试在if之前声明它

string piNumber;
if (amountOfDigits == 0)
{
    piNumber = "3";
}
else
{
    piNumber = "3,";
}

【讨论】:

  • piNumber.Trim(',');
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-15
  • 2018-04-08
  • 1970-01-01
  • 2013-10-02
  • 2014-04-22
  • 2017-06-17
相关资源
最近更新 更多