使用 LINQ 获取列表的一部分 [重复]

Posted

技术标签:

【中文标题】使用 LINQ 获取列表的一部分 [重复]【英文标题】:Get part of the list using LINQ [duplicate] 【发布时间】:2022-01-06 22:17:43 【问题描述】:

比如说,我有一份清单,我想从中分一杯羹。假设我有 0 到 999 的 1000 个数据。然后我想从“index1”到“index2”。

样本数据是:

[0] = 100
[1] = 1520
....
[900] = 8975
....
[998] = 10
[999] = 4875

比如说我想从索引 900 到索引 998 获取值。所以返回的值应该是:

[0] = 8975
.....
[998] = 10

如何在 LINQ 中做到这一点?

【问题讨论】:

到目前为止,您自己尝试过什么?你遇到了什么问题?你研究了什么?你听说过Skip()Take() 吗?请编辑您的问题以包含更多信息。我推荐taking the tour,以及阅读how to ask a good question 和what's on topic。 【参考方案1】:

您可以为此使用skiptake

List<int> list= new List<int>;
list.Skip(900).Take(100);

https://www.codingame.com/playgrounds/213/using-c-linq---a-practical-overview/skip-and-take

或者,您可以使用GetRange 方法

List<int> list= new List<int>;
list.GetRange(900, 100); // Retrieves 100 items starting with index #900

https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1.getrange?redirectedfrom=MSDN&view=net-6.0#System_Collections_Generic_List_1_GetRange_System_Int32_System_Int32_

【讨论】:

以上是关于使用 LINQ 获取列表的一部分 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用Linq获取列表中对象的索引[重复]

如何使用LINQ从列表中获取重复项?

如何在linq C#中使用group by并获取记录列表[重复]

LINQ - 从嵌套列表中获取值的总数并保存在父列表中[重复]

使用 LINQ 对不同的值进行排序 [重复]

Linq删除重复忽略大小写