c#中object如何转double[]
例如:double[]nPt=newdouble[3];nPt[0]=60.0/1000.0;nPt[1]=35.0/1000.0;nPt[2]=0.0;objectvP...
例如:
double[] nPt = new double[3];
nPt[0] = 60.0 / 1000.0;
nPt[1] = 35.0 / 1000.0;
nPt[2] = 0.0;
object vPt = null;
vPt = nPt;
//以上代码正确,下面我想修改vPt内容,该如何操作? 展开
double[] nPt = new double[3];
nPt[0] = 60.0 / 1000.0;
nPt[1] = 35.0 / 1000.0;
nPt[2] = 0.0;
object vPt = null;
vPt = nPt;
//以上代码正确,下面我想修改vPt内容,该如何操作? 展开
4个回答
推荐于2016-02-09 · 知道合伙人软件行家
关注
展开全部
这个问题看上去很简单,只需要一行代码就能完成:
o 为object类型
double[] d=(double[]) o;
这行代码在编译时是没有问题的,但在实际运行时,有可能会有引发异常。主要是没有对数据类型进行检查,不能保证o对象可以转换为 double[] 类型。我们需要改进下:下面二种都可以达到我们的目的。
is 和 as 是 C# 提供的以安全的方式执行类型强制转换的操作符,用法如下。
is 操作符验证对象的类型是不是自己希望的。如果是的话,则执行转换
if(o is double[])
double[] d=(double[]) o;
as 操作符取一个对象和一个类型作为其左边和右边的操作数。runtime 会尝试将对象转换成指定的类型,若转换成功,就返回转换成功后的结果给 d,如果转换失败,返回 null 给 d。
double[] d= o as double[];
if(d!=null) 判断下是否转换过来了
{
数据转换正确后,执行业务处理。
}
o 为object类型
double[] d=(double[]) o;
这行代码在编译时是没有问题的,但在实际运行时,有可能会有引发异常。主要是没有对数据类型进行检查,不能保证o对象可以转换为 double[] 类型。我们需要改进下:下面二种都可以达到我们的目的。
is 和 as 是 C# 提供的以安全的方式执行类型强制转换的操作符,用法如下。
is 操作符验证对象的类型是不是自己希望的。如果是的话,则执行转换
if(o is double[])
double[] d=(double[]) o;
as 操作符取一个对象和一个类型作为其左边和右边的操作数。runtime 会尝试将对象转换成指定的类型,若转换成功,就返回转换成功后的结果给 d,如果转换失败,返回 null 给 d。
double[] d= o as double[];
if(d!=null) 判断下是否转换过来了
{
数据转换正确后,执行业务处理。
}
展开全部
这个必须自己写个修改函数,例如
private void EditObject(int _num, double _data,object _obj)
{
double[] temp = (double[])_obj;
temp[_num] = _data;
_obj = temp;
}
调用函数更改
private void EditObject(int _num, double _data,object _obj)
{
double[] temp = (double[])_obj;
temp[_num] = _data;
_obj = temp;
}
调用函数更改
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
double[] t = (double[])vPt;
然后
t[0] = 3.33;
然后
t[0] = 3.33;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
装箱后要拆箱
((double[])vPt)[1] = 23.0/100.0;
((double[]) vPt).Length;
都可以使用
((double[])vPt)[1] = 23.0/100.0;
((double[]) vPt).Length;
都可以使用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询