我的计算器赢了;t工作c#控制台应用程序

我的计算器赢了;t工作c#控制台应用程序,c#,scope,calculator,C#,Scope,Calculator,这可能是一个非常简单的解决方案,但当它给出3条错误消息时: The name 'iNum1' does not exist in the current context The name 'iNum2' does not exist in the current context The name 'soOper' does not exist in the current context 当我删除最后一行代码时,它可以工作,但没有它,我无法计算它。我希望有人能帮忙。这是代码 //in

这可能是一个非常简单的解决方案,但当它给出3条错误消息时:

The name 'iNum1' does not exist in the current context  
The name 'iNum2' does not exist in the current context  
The name 'soOper' does not exist in the current context 
当我删除最后一行代码时,它可以工作,但没有它,我无法计算它。我希望有人能帮忙。这是代码

//information
    Console.WriteLine("This is a calculator");

    //Let them fill in the first number
    Console.WriteLine("Please enter the first number");
    bool bNoNum1 = true;
    while (bNoNum1)
    {

        string sNum1 = Console.ReadLine();

        try
        {
            int iNum1 = int.Parse(sNum1);
            bNoNum1 = false;
        }

        catch (Exception)
        {
            Console.WriteLine("That's not a number");
        }

    }



    //Let them fill in (*, +, / of -)
    Console.WriteLine("Please enter +, +, - or :");

    bool bNoOperator = true;


    do
    {
        string sOper = Console.ReadLine();

        if (sOper == "x")
        {
            string soOper = "*";
            bNoOperator = false;
        }
        else if (sOper == ":")
        {
            string soOper = "/";
            bNoOperator = false;
        }
        else if (sOper == "+")
        {
            string soOper = "+";
            bNoOperator = false;
        }
        else if (sOper == "-")
        {
            string soOper = "-";
            bNoOperator = false;
        }
        else
        {
            Console.WriteLine("De operator " + sOper + " Is niet bekend. Kies uit +, -, x of :");
        }
    } while (bNoOperator);


    //Enter second number
    Console.WriteLine("Please enter the second number");

    bool bNoNum2 = true;
    while (bNoNum2)
    {
        string sNum2 = Console.ReadLine();

        try
        {
            int iNum2 = int.Parse(sNum2);
            bNoNum2 = false;
        }

        catch (Exception)
        {
            Console.WriteLine("That's not a number");
        }
    }

    //calculating

    int uitkomst = iNum1 + soOper + iNum2;

你需要将这3个变量声明为全局变量,在你的上下文之外,把这些变量放在“像这样

Console.WriteLine("This is a calculator");
"
int iNum1;
int iNum2;
string sOper = "";

您在错误的位置声明了iNum1和iNum2—在一些内括号内。它们在最后一行所在的范围内是未知的。请在不同的级别声明这些变量


在任何情况下,当您这样做时,您都会遇到另一个问题:soOper是一个字符串。您正在用一个字符串和另一个int添加int。

相关:您不是第一个遇到该问题的人:可能是重复的