我想将ArrayList数据转换为int?[]。
我尝试了以下但失败了。 有没有人有想法?
data.ToArray(typeof(int?)) as int?[]
(int?[])data.ToArray(Nullable.GetUnderlyingType(typeof(int)))
(int?[])data.ToArray(Nullable.GetUnderlyingType(typeof(int?)))
(int?[])data.ToArray(typeof(int?))
答案 0 :(得分:4)
如果您的ArrayList只包含可为空的int,那么这就是我们要做的:
var result = data.Cast<int?>().ToArray();
答案 1 :(得分:2)
这应该这样做:
res = data.Cast<int?>().ToArray();
答案 2 :(得分:1)
两种方式:如果data
中的任何项目无法转换为int?
,则抛出异常:
var result = data
.Cast<int?>()
.ToArray();
或( lenient ):仅投放可以投放到int?
的项目:
var result = data
.OfType<int?>()
.ToArray();
答案 3 :(得分:0)
试试这个!!
result = data.Cast<int?>().ToArray();