с использованием набора строк в операторе switch

Я пытаюсь найти решение этой проблемы. Это мой пример кода:

class Program
{
  private string Command;

  private static string[] Commands = { "ComandOne", "CommandTwo", "CommandThree", "CommandFour" };


  static void Main(string[] args)
  {
    Command = args[0];
    switch(Command)
    {
      case Commands[0]: //do something 
        break;
      case Commands[1]: //do something else
        break;
      case Commands[2]: //do something totally different
        break;
      case Commands[3]: //do something boring
        break;
      default: //do your default stuff
        break;
    }
  }

  void DifferentMethod()
  {
    foreach(string c in Commands)
    {
      //do something funny
    }
  }
}

Этот код не работает, потому что строковые значения в переключателе не являются константами. Я хочу написать простой в обслуживании код.
Мне нравится использовать что-то вроде массива, потому что мне нужно использовать те же значения где-то еще в цикле.
С int-значениями перечисление было бы идеальным, но я не нашел небольшого решения для того же самого со строками.

11
задан Philipp M 23 October 2013 в 16:10
поделиться