Я новичок в C#, и я пытаюсь создать калькулятор. Я храню арифметический оператор в строке, есть ли способ, которым я могу использовать оператор для решения уравнения?C# использовать строковую переменную как арифметический оператор
Мой код:
else if (btn_name == "plus" || btn_name == "minus")
{
bol = true;
try
{
if (solve == "")
{
string num1 = Screen.Text;
first = float.Parse(num1);
second = first + second;
Screen.Text = second.ToString();
Screen_upper.Text = upper_text + text + " + ";
}
else
{
second = first (**#I want to use the operator here#**) second;
}
}
catch
{
Screen.Text = second.ToString();
Screen_upper.Text = upper_text + text + " + ";
}
solve = "+";
}
Существует утилита, которая предоставляет общие операторы как методы. http://www.yoda.arachsys.com/csharp/genericoperators.html. Надеюсь, это поможет вам найти хорошее решение. Также используйте Enums вместо строки, чтобы определить все ваши операции. – vendettamit
Я удалил свой предыдущий комментарий, потому что мне нужно было перефразировать, поскольку это было непонятно. Существует множество способов приблизиться к этому. Однако, если фактически преобразовать его непосредственно в оператор, ответ «нет». [This Post] (http://stackoverflow.com/questions/925886/c-sharp-convert-a-string-for-use-in-a-logical-condition) - это то, что действительно может вам помочь. В нем показаны два возможных подхода, как с соответствующими результатами. Пользовательские классы и дженерики с логическим переключателем - это хорошие способы его приближения. – Gabe