【发布时间】:2012-12-20 14:37:54
【问题描述】:
有没有一种方法可以在不检查"+", "-", "*", "/" 然后传递值的情况下转换操作符代码?
using System;
namespace ConsoleApplication1
{
class Program
{
private static void Main(string[] args)
{
string operator = "+";
int inputOne = 2;
int inputTwo = 5;
Console.WriteLine(Result(inputOne, inputTwo, operator));
Console.ReadLine();
}
public static string Result(int one, int two, string computeOperator)
{
if (computeOperator == "+")
{
return (one + two).ToString();
}
if (computeOperator == "-")
{
return (one - two).ToString();
}
//and so on...
return "0";
}
}
}
【问题讨论】:
-
找一个好的数学表达式解析器。
-
你可以传递一个委托,例如
Func<int, int, int>。 -
您最终将实现一个具有两个堆栈的功能齐全的计算器。