使用整数,字符串和字符使方程成为整数

时间:2019-07-07 22:19:51

标签: c#

我正在尝试做类似的事情。

string operator = "+";
int randomNumber = 1;
int randomNumber2=2;

if(randomNumber+operator+randomNumber2 == 3)

但是似乎无法正常工作,我也尝试做一个没有运气的字符。

3 个答案:

答案 0 :(得分:1)

您共享的示例是完全错误的,一个关于您的问题的建议:

  public static int Operator(this string logic, int x, int y)
    {
        switch (logic)
        {
            case "+": return x + y;
            case "-": return x - y;
            // And add your own cases

            default: throw new Exception("invalid logic");
        }
    }

答案 1 :(得分:1)

简单

if (operator == '+') return randomNumber + randomNumber2;

更多运营商

switch (operator)
{
    case '+': return randomNumber + randomNumber2;
    case '-': return randomNumber - randomNumber2;
    ...
}

答案 2 :(得分:0)

我发布了一个类,它将解析Black Belt Coder上的完整表达式。该代码只是简单地标记输入文本并构造一个中缀表达,然后对其进行求值。它也允许您定义自己的函数和变量。您的情况行得通吗?

另外,请问您为什么要这样做?如果我认为有任何需求,我会考虑将其放在NuGet上。