Оператор переключения C #: более эффективно, чтобы не использовать значение по умолчанию?

Я создавал метод C # в Visual Studio, который содержал только оператор switch, в котором каждый случай возвращал значение. По личной привычке я помещаю что-то похожее на следующий код:

private string SwitchMethod(int num)
    {
        switch (num)
        {
            case 0:
                return "result 1";
            case 1:
                return "result 2";
            case 2:
                return "result 3";
        }
        return "no result";
    }

Мой вопрос таков: какой код будет иметь лучшую производительность? Код выше или ниже или одинаковые? И почему?

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

private string SwitchMethod(int num)
    {
        switch (num)
        {
            case 0:
                return "result 1";
            case 1:
                return "result 2";
            case 2:
                return "result 3";
            default:
                return "no result";
        }
    }

РЕДАКЦИЯ: Похоже, я должен быть более конкретным: при компиляции ... будет ли менее эффективный код сгенерирован одним или другим?

Я понимаю, что разница в производительности может быть незначительной ... Мне просто очень любопытно.

9
задан bsara 27 February 2012 в 22:46
поделиться