【发布时间】:2018-04-28 19:28:55
【问题描述】:
我有一个Enum 需要进入Array 即Nullable:
StatusType?[] statusTypes = null; //Array to fill
我尝试像这样填写statusTypes:
statusTypes = (StatusType?[])Enum.GetValues(typeof(StatusType))
我收到以下错误:
System.InvalidCastException: '无法将'x.Entities.Enums.StatusType[]'类型的对象转换为'System.Nullable`1[x.Entities.Enums.StatusType][]'类型。'
如何用Enum[] 填充Enum?[]?我敢肯定这很容易解决,但我现在已经被它难住了。谢谢。
【问题讨论】:
-
从概念上讲,有两种方法可以将一堆
Enums 变成Enum?[]。一种是将您的值组合成Enum[],然后将其转换为Enum?[]。如您所见,这是不可能的。如答案所示,正确的方法是另一种方法:首先将每个Enum分别转换为Enum?,然后将它们组合为Enum?[]。