我想检查urlPath WEB的一部分是否包含在Enum中,如果是,则在另一个变量中返回其值。
var urlPath = "SomeThing/Web";
private enum ClientTypes
{
Mob = 0,
Web = 1
}
var client = urlPath.Contains(ClientTypes.Any()) // something like this
如何检查URL中的Web部件是否存在于枚举中,并返回其值并将其分配给client属性?
您可以根据“ /”分割网址,然后与枚举名称进行比较。例如,
var enumNames = Enum.GetNames(typeof(ClientTypes));
var result = urlPath.Split('/').Any(x=> enumNames.Contains(x))
urlPath
中可能会出现多个枚举值,但是如果您只对第一个匹配感兴趣,可以执行以下操作:
var client = Enum.GetValues(typeof(ClientTypes))
.Cast<ClientTypes>()
.SingleOrDefault(e => urlPath.Contains(e.ToString());