运营商&= 39; =='不能应用于string和Enum类型的操作数

时间:2016-06-10 03:12:23

标签: c# enums

我有以下代码,其中Model.VerticalType包含字符串。我想将它与Enum进行比较,但我收到错误:

运营商' =='不能应用于' string'类型的操作数和

DGS.DGSAPI.UI.BusinessModels.Enums.VerticalType.Voice

@if (Model.VerticalType == DGS.DGSAPI.UI.BusinessModels.Enums.VerticalType.Voice)
{
   <img src="@phoneWSource" />
}

2 个答案:

答案 0 :(得分:3)

在枚举值上调用.ToString()

@if (Model.VerticalType == DGS.DGSAPI.UI.BusinessModels.Enums.VerticalType.Voice.ToString())

这会将枚举转换为它的名称,在本例中为Voice

答案 1 :(得分:0)

尝试Enum.Parse从字符串转换为枚举值:

Enum.Parse(typeof(DGS.DGSAPI.UI.BusinessModels.Enums.VerticalType), Model.VerticalType, true) == DGS.DGSAPI.UI.BusinessModels.Enums.VerticalType.Voice

true表示在解析时忽略大小写