You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用LINQ获取列表指定索引区间内的部分数据

LINQ提取指定下标范围元素实现方案

前提假设

你拥有的原始数据列表实现了IEnumerable<T>接口(例如List<int>类型的sourceList,存储了你提到的1000条数值数据)。

实现方法

方法1:Skip + Take 组合(推荐)

跳过前900条(下标0899),再取出后续99条数据(恰好覆盖下标900998):

// 998 - 900 + 1 = 99,即需要提取的元素总数
var result = sourceList.Skip(900).Take(99).ToList();

该方法返回的result是新的列表,新下标从0开始,刚好对应你要求的输出格式:result[0]为原下标900的8975,result[98]为原下标998的10。

方法2:带索引的Where过滤

直接通过元素的原始下标判断是否符合范围:

var result = sourceList.Where((value, index) => index >= 900 && index <= 998).ToList();

效果和方法1完全一致。

额外说明

如果需要在结果中保留原始下标信息,可以用匿名类对数据做包装:

var resultWithOriginIndex = sourceList
    .Select((value, index) => new { OriginalIndex = index, Value = value })
    .Where(item => item.OriginalIndex >= 900 && item.OriginalIndex <= 998)
    .ToList();

注意:使用上述代码前需要先引入LINQ命名空间,在代码文件头部添加using System.Linq;即可。

内容的提问来源于stack exchange,提问作者Ralph Jason Caballes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 00:24:00