我尽力投出价值,但有些我如何继续得到这个例外。希望有人会指导我走正确的道路。
这是我的代码
此类型来自服务
public enum ChannelCodeType {
/// <remarks/>
A1,
/// <remarks/>
A2,
/// <remarks/>
A3,
/// <remarks/>
A4,
}
在我的winform中我有一个生成所有这些频道的列表框,我尝试在列表框中投射所选频道并将其传递给频道类型,但这给我带来了困难。
ChannelCodeType[] ChannelCodes;
ChannelCodes=lbSearch.SelectedItems.ToString().Cast<ChannelCodeType>().ToArray();
然后我尝试下面也失败了
string[] destination = new string[lbSearch.Items.Count];
lbSearch.Items.CopyTo(destination, 0);
ChannelCodes = destination.Cast<ChannelCodeType>().ToArray();
以两种方式一直抱怨演员表无效。
答案 0 :(得分:4)
ChannelCodes = destination.Select(e => (ChannelCodeType)Enum.Parse(typeof(ChannelCodeType),e)).ToArray();
尝试类似上面的内容。
您当前的方法存在的问题是您无法直接将字符串转换为枚举。你必须解析它。