【问题标题】:Using ints,strings, and chars to make equation int [duplicate]使用整数、字符串和字符来制作等式 int [重复]
【发布时间】:2019-11-17 11:22:42
【问题描述】:

我正在尝试做这样的事情。

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

if(randomNumber+operator+randomNumber2 == 3)

但似乎无法让它工作,我也尝试过没有运气的 char。

【问题讨论】:

  • c# 还是c++ - 两种截然不同的语言(尽管有一些共同的根源)。
  • 这是我在其中使用语法的 c#。我知道它们非常相似,这就是我两者都做的原因。所以我从盒子里抓取输入,所以我已经转换了数字和东西。

标签: c#


【解决方案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");
        }
    }

【讨论】:

    【解决方案2】:

    简单地说,

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

    拥有更多运营商

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 2011-02-18
        • 1970-01-01
        • 2011-02-10
        • 2019-06-10
        • 1970-01-01
        • 2012-10-06
        • 2019-10-24
        • 2017-03-25
        • 1970-01-01
        相关资源
        最近更新 更多