我正在尝试做类似的事情。
string operator = "+";
int randomNumber = 1;
int randomNumber2=2;
if(randomNumber+operator+randomNumber2 == 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上。