如何将字符串数组强制转换为列表
本文关键字:转换 列表 数组 字符串 | 更新日期: 2023-09-27 17:49:01
我有这样一个类:
public class User
{
public int Id;
public ICollection<Role> Roles;
}
我有这个对象:
User userObj = new User { Id = 1 };
我想设置这个数组:
RolesVM.Items.Split(new string[] { "'r'n" }, StringSplitOptions.None);
为:userObj.Roles
当将string[]
数组分配给Roles
时,我得到这个错误:
不能隐式地将类型'string[]'转换为'System.Collections.Generic.ICollection '
将string
转换为其他类型没有神奇的方法。您需要调用创建该类型对象的代码。
。如果role
有构造函数接受字符串参数:
userObj.Roles =
RolesVM.Items.Split(new string[] {"'r'n" }, StringSplitOptions.None)
.Select(value => new role(value)) // "convert" strings to `role`
.ToList(); // transform enumerable to type that implements ICollection (List)
根据您的role
类型,new role(value)
可能需要替换为其他转换,如new role{ Value = value}
或对于枚举- Enum.Parse(typeof(role), value)
。