我想使用 switch 语句来避免许多 if。所以我这样做了:
public enum Protocol
{
Http,
Ftp
}
string strProtocolType = GetProtocolTypeFromDB();
switch (strProtocolType)
{
case Protocol.Http:
{
break;
}
case Protocol.Ftp:
{
break;
}
}
但我有一个比较枚举和字符串的问题。因此,如果我添加了 Protocol.Http.ToString() 则会出现另一个错误,因为它只允许 CONSTANT 评估。如果我把它改成这个
switch (Enum.Parse(typeof(Protocol), strProtocolType))
也不可能。那么,在我的情况下是否可以使用 switch 语句?