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#の字句解析プログラムのサンプル例に似ています。これらの字句解析プログラムの1つを使用してみることができますが、大量のテキストを解析する場合を除いて、それだけの価値はないかもしれません。

参考までに、これはおそらくその回答からのリンクの中で最も関連性があります...

Luceneテキストアナラ​​イザー-C#| CodeProject

于 2012-12-20T14:44:53.570 に答える
0

単にいいえしかし、 Evalを使用して計算を行うことができます

于 2012-12-20T14:44:07.887 に答える