Tim*_*son 36
var itemsOneThroughTwenty = myList.Take(20);
var itemsFiveThroughTwenty = myList.Skip(5).Take(15);
Run Code Online (Sandbox Code Playgroud)
Dea*_*ing 23
你可以使用List<T>.GetRange():
var subList = myList.GetRange(0, 20);
Run Code Online (Sandbox Code Playgroud)
来自MSDN:
在源中创建一系列元素的浅表副本
List<T>.
public List<T> GetRange(int index, int count)
如果你真的想要截断列表而不是制作副本,这可能对提高效率有所帮助.虽然python示例制作副本,但原始问题实际上是关于截断列表.
给定List <>对象"列表",你想要第1到第20个元素
list.RemoveRange( 20, list.Count-20 );
Run Code Online (Sandbox Code Playgroud)
这样就可以了.这仍然是O(n),因为必须删除对每个对象的引用,但应该比任何其他方法快一点.
| 归档时间: |
|
| 查看次数: |
9826 次 |
| 最近记录: |