C#中怎么样把一个(Object)(int[])转换成Object[]? 60
在编码的过程中,有这么样一个需求,现在有一个参数,是Object的,它可能是一个数组,比如int[];也可能是其他类型的数组。现在如何能将这个数组转换成Object[],...
在编码的过程中,有这么样一个需求,现在有一个参数,是Object的,它可能是一个数组,比如int[];也可能是其他类型的数组。
现在如何能将这个数组转换成Object[],也就是Object数组?
假设这个Object类型的参数名为value,而现在,这个value的真正类型不确定,所以,有什么比较官方的写法,能将value转换成Object[]吗? 展开
现在如何能将这个数组转换成Object[],也就是Object数组?
假设这个Object类型的参数名为value,而现在,这个value的真正类型不确定,所以,有什么比较官方的写法,能将value转换成Object[]吗? 展开
2个回答
展开全部
可以使用CopyTo:
int[] intArray = { 123, 456 };
object[] objArray=new object[intArray.Length];
intArray.CopyTo(objArray, 0);
追问
Object value;
Object[] param = (Object[])value;
现在想把value里的值,放进param里,但是这个value里存储的数组的长度怎么求出来呢?
追答
不太明白你的这时的意图。不好回答,但对于数组来说,使用Length就可以了。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不管是int还是string或是double等其他类型,均继承自object
int[] s=new int[]{1,2,3};
object[] aaa=s;
int[] s=new int[]{1,2,3};
object[] aaa=s;
追问
非常感谢您的回答!
而实际上,我这里收到的参数是Object,比如下面的伪代码:
Object value;
Object[] param = (Object[])value;
这段代码会报错。现在可以确定的是value里存放的是某种数据类型的数组,但是什么类型不确定,有下层函数去分析,下层函数期望的是object[]参数。
所以,如何将value转换成object[]?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询