如何将字符串数组转换为枚举
本文关键字:转换 枚举 数组 字符串 | 更新日期: 2023-09-27 18:15:50
如何将字符串数组转换为enum?下面的代码给出了一个关于期望的基本概念,
permission.Permissions.Add(Enum.Parse(typeof(PagePermission) ,a );
但是,它会抛出类似
的错误不能将object转换为enum。
这里,PagePermission
是enum。
string pagePermission = "View,Edit";
string[] permissions = pagePermission.Split(',');
permission.Permissions = new List<PagePermission>();
for (int i = 0; i < permissions.Length; i++)
{
string a = permissions[i];
permission.Permissions.Add(Enum.Parse(typeof(PagePermission) ,a );
}
使用
IEnumerable<myEnum> items = myArray.Select(a => (myEnum)Enum.Parse(typeof(myEnum), a));
Enum.Parse
返回一个object
,您需要将其强制转换为实际的enum类型。在你的例子中:
permission.Permissions.Add((PagePermission)Enum.Parse(typeof(PagePermission), a);
否则,您将在PagePermission
列表中添加object
,这将导致您所遇到的错误。