Я хочу использовать оператор switch, чтобы избежать многих if. Так что я сделал это:Как использовать оператор switch с перечислениями C#
public enum Protocol
{
Http,
Ftp
}
string strProtocolType = GetProtocolTypeFromDB();
switch (strProtocolType)
{
case Protocol.Http:
{
break;
}
case Protocol.Ftp:
{
break;
}
}
, но у меня есть проблема сравнения Enum и String. Поэтому, если я добавил Protocol.Http.ToString(), есть еще одна ошибка, потому что она допускает только ПОСТОЯННУЮ оценку. Если я изменю его на это
switch (Enum.Parse(typeof(Protocol), strProtocolType))
Невозможно также. Итак, в моем случае можно использовать оператор switch или нет?
Я думаю, вы должны сделать результат Enum.Parse для протокола – jbl
Что вы получаете от 'GetFromProtocolTypeFromDB' это' 'enum' или string? – Habib
Почему '' GetFromProtocolTypeFromDB' возвращает 'Protocol' вместо' string'? –