任何想法为什么这个计算器控制台应用程序不起作用?

Pav*_*vel 1 c# calculator console-application unhandled-exception

所以我一直在开发关于如何编写计算器的想法,并且我每次都会继续获取未处理的异常但代码不会出现任何错误,并且在多次读取代码后我不确定出现了什么问题.

string inp;
int location;
double num1, num2, ans;
string[] ops = {"+", "-", "*", "/" };

Console.WriteLine("Calculator");
Console.WriteLine("Enter a Calculation.");
inp = Console.ReadLine();

if (inp.Contains(ops[0])) 
{
    location = inp.IndexOf("+");
    num1 = double.Parse(inp.Substring(0, location));
    num2 = double.Parse(inp.Substring(location +1));
    ans = num1 + num2;
    Console.WriteLine("{0}+{2}={3}", num1, num2, ans.ToString("0.###"));
}
else if (inp.Contains(ops[1]))
{
    location = inp.IndexOf("-");
    num1 = double.Parse(inp.Substring(0, location));
    num2 = double.Parse(inp.Substring(location +1));
    ans = num1 - num2;
    Console.WriteLine("{0}-{2}={3}", num1, num2, ans.ToString("0.###"));
}
else if (inp.Contains(ops[2])) 
{
    location = inp.IndexOf("*");
    num1 = double.Parse(inp.Substring(0, location));
    num2 = double.Parse(inp.Substring(location +1));
    ans = num1 * num2;
    Console.WriteLine("{0}*{2}={3}", num1, num2, ans.ToString("0.###"));
}
else if (inp.Contains(ops[3]))
{
    location = inp.IndexOf("/");
    num1 = double.Parse(inp.Substring(0, location));
    num2 = double.Parse(inp.Substring(location +1));
    ans = num1 / num2;
    Console.WriteLine("{0}/{2}={3}", num1, num2, ans.ToString("0.###"));
}
Run Code Online (Sandbox Code Playgroud)

ΦXo*_*a ツ 5

你什么都看不见,因为代码抛出一个异常,并且在没有告诉你任何事情的情况下完成,但你可以检测到,如果你调试代码;)

代码不会出现任何错误

代码没有编译错误,但是您的代码在运行时会产生错误

由于这条线,你有一个例外

Console.WriteLine("{0}+{2}={3}", num1, num2, ans.ToString("0.###"));
Run Code Online (Sandbox Code Playgroud)

{0} + {2} = {3}必须为{0} + {1} = {2}

因为它们是由定义的数组中的索引

num1, num2, ans.ToString("0.###")
Run Code Online (Sandbox Code Playgroud)