【问题标题】:how to convert a string into operator in c# [duplicate]如何在c#中将字符串转换为运算符[重复]
【发布时间】:2020-07-10 18:55:53
【问题描述】:

我试图将一个称为符号的字符串转换为计算器的运算符 (+ = - /)。用户将选择要使用的符号,而不是只有一个之前已经选择过的符号(结果不会起作用,因为它不是运算符)。

 class Program
{
    static void Main(string[] args)
    {
        double num01;
        double num02;
        string symbol;
        Console.WriteLine("Input a number");
        num01=Convert.ToDouble(Console.ReadLine());
        Console.WriteLine("Write the second number");
        num02=Convert.ToDouble(Console.ReadLine());
        Console.WriteLine("Choose a mathematic symbol");
        symbol=Convert.ToString(Console.ReadLine());
        double result = ( num01 symbol num02 );
        Console.WriteLine ("The result is " + result); 
        Console.ReadKey();
    }
}

【问题讨论】:

  • 为什么不直接使用 switch 语句或 if/else 语句?

标签: c# string


【解决方案1】:

您应该创建一个额外的方法来获取您的符号和整数并执行必要的计算。

private int Calculate(string operator, int number1, int number2)
{
    if (operator == "+")
    {
        return number1 + number2;
    }
    else if (operator == "-")
    {
        return number1 - number2;
    }
    else if (operator == "*")
    {
        return number1 * number2;
    }
    else if (operator == "/")
    {
        return number1 / number2;
    }
    else
    {
        throw new ArgumentException("Unexpected operator string: " + operator);
    }    
}

【讨论】:

  • 耶 C# 重载运算符!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-16
  • 2011-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多