Я протестировал следующий код, и он работает, как ожидалось.Таким образом, проблема должна быть со значением extracted[used]
.
static int binary_op(int n1, int n2, string op)
{
int result;
switch (op)
{
case "*":
result = n1 * n2;
break;
case "/":
result = n1 / n2;
break;
case "+":
result = n1 + n2;
break;
case "-":
result = n1 - n2;
break;
default:
throw new Exception("invalid operation");
}
return result;
}
. Вы вызываете это так:
binary_op(2, 2, "+"); // => 4
Возможно, было бы неплохо разбить эту логику на еесобственная функция в вашем коде.Вы можете протестировать эту функцию независимо, а затем, когда она выйдет из строя при вызове из другого места в вашем коде, вы поймете, что проблема в вызывающем коде.