黑马程序员技术交流社区
标题:
无法将类型 "object[]" 隐式转换为 "int[]"
[打印本页]
作者:
xt654005440
时间:
2013-8-7 10:59
标题:
无法将类型 "object[]" 隐式转换为 "int[]"
本帖最后由 xt654005440 于 2013-8-10 10:37 编辑
RT: 现有一个若干整数元素的集合list,我想把其中的元素放到新的int[]类型数组中,int[] arr1 = list.ToArray();,报错:无法将类型 "object[]" 隐式转换为 "int[]"。请问我的这个思路可行吗,若可行要怎么才正确实现??{:soso_e132:}
作者:
范国伟
时间:
2013-8-7 11:32
父类不能隐式转换为子类 ,子类可以隐式转换成父类 list集合里面村粗的object类型,无法隐式转换为int类型,按你的思路你可以用泛型集合
List<int> ls = new List<int>(); //实例化泛型集合
//添加数据
ls.Add(11);
ls.Add(22);
ls.Add(33);
//转换为int数组
int[] arr = ls.ToArray(); //输出
for (int i = 0; i < arr.Length; i++)
{
Console.WriteLine(arr[i]);
}
Console.ReadKey();
复制代码
希望对你有帮助
作者:
zhangcheng5468
时间:
2013-8-7 11:55
本帖最后由 zhangcheng5468 于 2013-8-7 11:59 编辑
object[] nums={1,5,10,6};
List<object> list = new List<object>(nums);//创建list泛型集合
int[] arry = (from num in list.ToArray() select (int)num).ToArray();//转型为整形数组 int是object的派生类,但int[]并不是object[]的派生类
复制代码
作者:
熊丽
时间:
2013-8-7 12:45
试试
int.Prase( list.ToArray());
作者:
高文咪
时间:
2013-8-7 13:21
.NET Framework 中的所有类均从 Object 派生,因此,是没办法像你所说的那样转换的;
你可以这样把一人数组的值转移到另一个数组:
int[] list = { 2, 9, 3, 4 };
List<int> array = new List<int>();
foreach (int i in list)
{
array.Add(i);
}
复制代码
作者:
追梦无悔
时间:
2013-8-10 07:32
int[] arr1 =(int) list.ToArray();,
作者:
于驭龙
时间:
2013-8-15 12:30
首先数组是有长度之分的list.toArray();转换的是char[]数组..不对等.起码你 int [] arr1=new arr[list.count];然后在有foreach遍历这个list集合..取出单个int对象往arr1[0++]赋值
作者:
于驭龙
时间:
2013-8-15 12:34
List<int> array = new List<int>();
array.add(2);
array.add(3);
int[] list = new int[array.count];
int s=0;
foreach (int i in array)
{
list[s]=i;
s++;
}
复制代码
作者:
SunshineGirl
时间:
2013-8-26 13:49
追梦无悔 发表于 2013-8-10 07:32
int[] arr1 =(int) list.ToArray();,
请抢紧时间走报名流程,如果有不明白的,可致电:82826816 转8006
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2