您好
如何将enum
转换为IList
?
假设您要阅读FormWindowState
枚举中的所有元素,并返回包含IList<FormWindowState>
,Normal
和Minimized
Maximized
答案 0 :(得分:8)
使用Enum.GetValues()
。例如:
var list = (IList<FormWindowState>) Enum.GetValues(typeof(FormWindowState));
它实际上返回FormWindowState[]
,但无论如何都适当地实现了IList<T>
。
如果您正在使用枚举进行大量工作,而您希望采用更加类型安全的方法,那么您可能也希望查看我的Unconstrained Melody项目。
答案 1 :(得分:0)
IList<FormWindowState> myList;//instantiate it with a concrete collection.
myList.Add(FormWindowsState.Normal);
myList.Add(FormWindowsState.Minimized);
myList.Add(FormWindowsState.Maximized);
这只是针对这种情况,当你只有3个枚举成员时。否则使用Jon Skeet的解决方案。