首页 新闻 搜索 专区 学院

如何进行类型转换

0
悬赏园豆:50 [已关闭问题] 关闭于 2010-10-21 11:05
Cda_Class cc = new Cda_Class();//这个是第三方类库中的一个类

object o = cc.Get_Cda();//Get_Cda方法返回object

//代码跟踪o 是一个类似这样的一个数组[0.00,2.33,8.44,...,7.22],30维

//请问如何把o转变成 double[] d 这种类型

 

问题补充: 可以使用Array Array A = (Array)o;
Jxj的主页 Jxj | 初学一级 | 园豆:21
提问于:2010-10-21 09:19
< >
分享
所有回答(5)
0

(double[])o

死白的man | 园豆:2135 (老鸟四级) | 2010-10-21 09:26
报错: 无法将类型为“System.Double[*]”的对象强制转换为类型“System.Double[]”。
支持(0) 反对(0) Jxj | 园豆:21 (初学一级) | 2010-10-21 09:29
object c=new object [5] { 1.2,2.2,3.2,4.2,5.2}; object[] m=(object [])c; double[] n=new double[5]; 然后用foreach 把n填满
支持(0) 反对(0) 死白的man | 园豆:2135 (老鸟四级) | 2010-10-21 09:54
0

按你说的,应该是属于数组内容之间的转化。定义一个double[] d的数组,然后循环o,把o中的每个元素填充到定义的数组中,或者可以用Array.ConvertAll(),利用委托的方式来转化,更加灵活

yixin841210 | 园豆:1138 (小虾三级) | 2010-10-21 09:35
请问如何循环o?
支持(0) 反对(0) Jxj | 园豆:21 (初学一级) | 2010-10-21 09:42
@Jxj:把o转为数组,o是什么类型了,string 吗?
支持(0) 反对(0) yixin841210 | 园豆:1138 (小虾三级) | 2010-10-21 09:57
我就是想把o转为数组,但转不成功
支持(0) 反对(0) Jxj | 园豆:21 (初学一级) | 2010-10-21 10:06
0

double[] array=null;

Cda_Class cc
= new Cda_Class();//这个是第三方类库中的一个类

object o = cc.Get_Cda();//Get_Cda方法返回object

if(o is double[])
array
= o as double[];

 

写代码的小2B | 园豆:4346 (老鸟四级) | 2010-10-21 09:36
if没通过
支持(0) 反对(0) Jxj | 园豆:21 (初学一级) | 2010-10-21 09:41
Type type = o.GetType(); string name = type.Name; 调试看看到底是什么类型 我估计不是Double[]
支持(0) 反对(0) 写代码的小2B | 园豆:4346 (老鸟四级) | 2010-10-21 09:52
是的,o.GetType().Name 为Double[*]
支持(0) 反对(0) Jxj | 园豆:21 (初学一级) | 2010-10-21 10:05
0
n=o.length
double【n】 xx = (double[])o
茂茂 | 园豆:2860 (老鸟四级) | 2010-10-21 10:01
0

 你先用o.GetType();查看一下o的类型先吧,然后再决定用什么类型转换

dodohua | 园豆:1037 (小虾三级) | 2010-10-21 10:14
o.GetType().Name 为Double[*]
支持(0) 反对(0) Jxj | 园豆:21 (初学一级) | 2010-10-21 10:16
本人见过[,]多维,[][]交错的数组,就是没有见过[*],希望LX大牛能解决。
支持(0) 反对(0) dodohua | 园豆:1037 (小虾三级) | 2010-10-21 11:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册