1. ホーム
  2. c#

[解決済み] C# enumをswitchで使用する方法

2023-03-02 06:30:24

質問

enumと組み合わせてswitchを使用する方法がわかりません。何が間違っているのか、どうすれば直るのか、教えてください。私は、基本的な電卓を作るためにenumを使用しなければなりません。

public enum Operator
{
    PLUS, MINUS, MULTIPLY, DIVIDE
}

public double Calculate(int left, int right, Operator op)
{

    int i = (int) op;

    switch(i)
    {
        case 0:
        {
            return left + right;
        }

        case 1:
        {
            return left - right;
        }

        case 2:
        { 
            return left * right;
        }

        case 3:
        {
            return left / right;
        }

        default:
        {
            return 0.0;
        }
    }
}

最終的にはこのような感じになるはずです。

Console.WriteLine("The sum of 5 and 5 is " + Calculate(5, 5, PLUS))
Output: The sum of 5 and 5 is 10

どうしたらいいのかわからないのですが、教えてください。

どのように解決するのですか?

変換する必要はありません。

switch(op)
{
     case Operator.PLUS:
     {
        // your code 
        // for plus operator
        break;
     }
     case Operator.MULTIPLY:
     {
        // your code 
        // for MULTIPLY operator
        break;
     }
     default: break;
}

ちなみに、括弧を使って