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内容,该如何操作?
展开
 我来答
greystar_cn
推荐于2016-02-09 · 知道合伙人软件行家
greystar_cn
知道合伙人软件行家
采纳数:16407 获赞数:17260
本人主要从事.NET C#方向的技术开发工作,具有10多年的各类架构开发工作经验。

向TA提问 私信TA
展开全部
这个问题看上去很简单,只需要一行代码就能完成:
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) 判断下是否转换过来了
{
数据转换正确后,执行业务处理。
}
LeoHust
2011-12-31
知道答主
回答量:15
采纳率:0%
帮助的人:15.9万
展开全部
这个必须自己写个修改函数,例如
private void EditObject(int _num, double _data,object _obj)
{
double[] temp = (double[])_obj;
temp[_num] = _data;
_obj = temp;
}
调用函数更改
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yxz0539
推荐于2016-03-31 · TA获得超过1597个赞
知道大有可为答主
回答量:1759
采纳率:0%
帮助的人:1771万
展开全部
double[] t = (double[])vPt;
然后
t[0] = 3.33;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
锋利的猫
2011-12-31 · TA获得超过868个赞
知道小有建树答主
回答量:416
采纳率:0%
帮助的人:373万
展开全部
装箱后要拆箱

((double[])vPt)[1] = 23.0/100.0;

((double[]) vPt).Length;

都可以使用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式