【发布时间】:2012-01-18 22:01:57
【问题描述】:
我需要在数组中插入一个值...理想情况下,我可以从 List<myObj> 开始,但我需要使用的方法返回 myObj[]。
我总是需要在第一个位置插入一个值,而不是蠕虫已经在数组中的值...我想出了以下方案..
List<myObj> list = array.ToList<myObj>();
if (list.Count > 0 && list != null)
{
list.Insert(0, InsertRecord(myParam)); // InsertRecord() is one of my methods...
}
return list.ToArray();
我的问题是……这甚至是远程有效的吗?有没有更好的方法来做我需要完成的事情?
【问题讨论】:
-
你真正想在这里做什么?您如何阅读列表?随机?第一项?最后一项?枚举整个列表?
-
@AndrewBarber:
ToList实际上并没有创建数组的副本,它使用List<T>构造函数,该构造函数接受IEnumerable<T>并将其包装。 -
@EdS。我实际上的意思是他的 ToArray() 最后调用......哎呀。但是,无论如何,我就在那里吗?
-
@AndrewBarber:是的,那个。它使用
Buffer<T>并且 Buffer 构造函数执行复制。 -
您需要return 一个数组还是consume 一个数组(或两者)?
标签: c# arrays performance