执行此转换的最简单方法是什么:
IList<int>
至object[]
感谢。
答案 0 :(得分:10)
使用LINQ:
object[] arr = list.Cast<object>().ToArray();
答案 1 :(得分:1)
我不确定这是否是最简单的,但绝对是最有效的:
var result = new object[list.Count];
for (int i = 0; i < list.Count; i++)
result[i] = list[i]; //Warning: Inevitable boxing happening here
编辑:如果您的列表在索引方面比使用IEnumerable<T>
接口慢一些,那么只需用for
循环替换foreach
循环。
(就个人而言,我讨厌效率甚至远程关注的领域中的Enumerable
方法,仅仅是因为它们如何创建大量内部对象并执行多次低效的数据传递。)
答案 2 :(得分:0)
使用List<T>.ToArray()
方法。这里有更多文档http://msdn.microsoft.com/en-us/library/x303t819.aspx
答案 3 :(得分:-1)
myList.ToArray< object>();