我有一个List<T>
,我想将一个项目添加到该列表的第一个位置。
MyList.add()
将项目添加为最后一个。如何将其添加为第一个?
谢谢帮助!
List<T>.Insert(0, item);
myList.Insert(0, item);
这确实涉及将列表的所有内容内部移动,因此如果您经常这样做(即仅添加到前面),您可能会考虑使用Stack<T>
或正向读取并在某个合适的时机反转的常规列表。
我会尽量避免使用LinkedList。
使用 List.Insert(0, ...)
。但你确定不是更适合使用 LinkedList
吗?每次在数组中除了最后位置插入一个项目,都需要复制所有现有项目以为新项目腾出空间。
List<T>.Insert(0, item)
或者 LinkedList<T>.AddFirst()
。你可以通过在位置0插入来实现这个:
List myList = new List();
myList.Insert(0, "test");
Insert
方法:
list.Insert(0, item);当然,Insert
或 AddFirst
(对于一个 LinkedList)可以解决问题,但你也可以使用以下代码:
myList.Reverse();
myList.Add(item);
myList.Reverse();
注意,虽然这样做最终能够实现目标,但并不是最有效的方法;)。