在C#中,如何将double[]转换为double?[]?
展开全部
437384801的说法完全不对
可空类型本身指针对值类型的,数组本身就是引用类型,本身就是可空的
double?[]表示的是 可空的double 的数组,不是 可空的 double数组 ,也就是一组可空double,数组项可空而非整个 数组可空
正确的做法是逐项遍历转换
double[] d1 = new double[] { 1d, 2d, 3d };
double?[] d2 = new double?[d1.Length];
for (int i = 0; i < d1.Length; i++)
{
d2[i] = d1[i];
}
Nullable<double[]> d3 = new Nullable<double[]>();//这句编译通不过,提示"类型“double[]”必须是不可以为 null 值的类型才能用作泛型类型或方法“System.Nullable<T>”中的参数“T”"
可空类型本身指针对值类型的,数组本身就是引用类型,本身就是可空的
double?[]表示的是 可空的double 的数组,不是 可空的 double数组 ,也就是一组可空double,数组项可空而非整个 数组可空
正确的做法是逐项遍历转换
double[] d1 = new double[] { 1d, 2d, 3d };
double?[] d2 = new double?[d1.Length];
for (int i = 0; i < d1.Length; i++)
{
d2[i] = d1[i];
}
Nullable<double[]> d3 = new Nullable<double[]>();//这句编译通不过,提示"类型“double[]”必须是不可以为 null 值的类型才能用作泛型类型或方法“System.Nullable<T>”中的参数“T”"
参考资料: http://msdn.microsoft.com/zh-cn/library/2cf62fcy.aspx
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询