У меня есть метод с использованием длинной строки инструкций if/elseif (около 10-15), и я понимаю, что, когда вы заканчиваете около 5 команд if if else, лучше использовать переключатель. При этом я не уверен, что могу использовать оператор switch в моем случае, потому что мои операторы if/else if полагаются на тестирование строки, а не на равенство, но используют метод Contains(). Таким образом, сейчас у меня есть что-то эквивалентМогу ли я использовать оператор switch в сочетании с string.Contains()?
string s = "ABCD";
if(s.Contains("A")
{
//do stuff
}
else if(s.Contains("E")
{
//do different stuff
}
etc ...
Я попытался различно способы реализации оператора коммутатора, такие как
switch()
{
case(s.Contains("A"))
{
//do stuff
}
}
Но каждый путь я попытался результаты в синтаксической ошибки.
Есть ли способ использовать оператор switch при тестировании строки с помощью метода Contains()?
Нет, Операторы switch требуют постоянных значений для ярлыков case. – juharr
Хорошо. Это то, что я думал, но я хотел быть уверенным. Благодаря! – BrianH
@BrianH Вы хотите только выполнить первое действие, которое «хиты», или все действия, в которых строка содержит эту подстроку? – Jonesopolis