为了账号安全,请及时绑定邮箱和手机立即绑定

以下代码正确,下面我想修改vPt内容,该如何实现呢?

以下代码正确,下面我想修改vPt内容,该如何实现呢?

明月笑刀无情 2022-04-20 12:15:32
例如: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内容,该如何操作?
查看完整描述

2 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

这个问题看上去很简单,只需要一行代码就能完成:
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) 判断下是否转换过来了
{
数据转换正确后,执行业务处理。
}

查看完整回答
反对 回复 2022-04-24
?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

这个必须自己写个修改函数,例如
private void EditObject(int _num, double _data,object _obj)
{
double[] temp = (double[])_obj;
temp[_num] = _data;
_obj = temp;
}
调用函数更改


查看完整回答
反对 回复 2022-04-24
  • 2 回答
  • 0 关注
  • 110 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信