3

可能重复:
.NET 中是否有字符串数学评估器?

有没有办法在不检查"+", "-", "*", "/"然后传递值的情况下转换操作员代码?

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";
        }
    }
}
4

3 回答 3

6

,不是你想要的方式。根据定义,字符串文字不能转换为运算符。

于 2012-12-20T14:40:15.793 回答
1

您的问题类似于c# 中词法分析器的示例示例。您可以尝试使用其中一种词法分析器,但除非您要解析大量文本,否则可能不值得。

作为参考,这可能是该答案中最相关的链接......

Lucene 文本分析器 - C# | 代码项目

于 2012-12-20T14:44:53.570 回答
0

根本没有。但是您可以使用Eval进行计算

于 2012-12-20T14:44:07.887 回答