Console.WriteLine(used+ "\n"+ extracted[used]);
switch (extracted[used])
{
case "*": result = number1 * number2; break;
case "/": result = number1 / number2; break;
case "+": result = number1 + number2; break;
case "-": result = number1 - number2; break;
default: Console.WriteLine("Error - Could not assign starting value."); break;
}
Console.WriteLine("Marker 3");
Console.WriteLine(result);
This snippet produces the output:
1
+
Error – Could not assign starting value.
Marker 3
0
Why does this happen? In the second row of the output, the program prints out that the value of extracted[used] is “+”, yet the switch statement fails to go to case “+”, instead going to default, and printing out the error, and then printing out the placeholder value for “result”. If it matters, extracted is an array of strings.
Try switching over
extracted[used].Trim()and you’ll get the correct switch to be hit.