Почему switch/case не принимает непостоянные данные?

Столкнулся с проблемой, нужно сравнить переменную с рандомным значением в switch/case, но он почему- то выдаёт ошибку "A constant value of type 'string' is expected" .

Сам код:

string value = "Five";
string exp = Convert.ToString(rnd.Next(0,10));

switch (value)
{
    case exp:
        Console.WriteLine("End");
        break;
}

Ответы (1 шт):

Автор решения: Roman C

Чтобы сравнить переменную с рандомным значением в операторе switch/case нужно: определить переменную как const и подставить ее в case, а переменную с рандомным значением подставить в switch.

const string value = "5";
var rnd = new Random();
string exp = Convert.ToString(rnd.Next(0,10));

switch (exp)
{
    case value:
        Console.WriteLine("End");
        break;
}

Вот весь код.

→ Ссылка