首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从另一个IList的一部分快速创建列表

从另一个IList的一部分快速创建列表
EN

Stack Overflow用户
提问于 2019-05-12 23:31:05
回答 2查看 135关注 0票数 2

我想知道是否有一种标准的方法可以从另一个列表的元素中创建一个列表,直到指定的索引,例如:

List1(1,2,3,4,5,6,7,8,9,0);
List2 = new List(List1, upToIndex = 4)
List2(1,2,3,4,5)

我需要一种非常快速的方法,如果有办法的话,我想避免简单的"for“循环。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-12 23:35:22

list.GetRange(startIndex, count)呢?

List<int> inputList = new List<int>() { 1,2,3,4,5,6,7,8,9,9};
List<int> newList = inputList.GetRange(0, 4); //Output: 1,2,3,4

如果您想使用startingIndexendingIndex从给定列表中获得子列表,那么您可以做一些基本的数学运算

就像这样

List<int> newList = inputList.GetRange(startIndex, (endIndex - startIndex));  //(endIndex - startIndex) this will return count of sub list

或者您可以尝试@Crowcoder建议的Linq操作,

List<int> newList = inputList.Skip(startIndex).Take(endIndex).ToList();

如果您使用是C# 8,那么您可以使用range而不是SkipTake

var newList = inputList.Range[startIndex..count]; //where count will be (endIndex - startIndex)
票数 4
EN

Stack Overflow用户

发布于 2019-05-12 23:33:32

可以,您可以使用System.Linq

var subset = yourList.Take(4).ToList();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56100740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档