使用 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】:
您可以为此使用skip
和take
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 C#中使用group by并获取记录列表[重复]