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

如何使用LINQ查找List<float[]>中数组长度满足指定阈值的元素索引?

LINQ 实现方案

核心使用 LINQ 中支持传入元素索引的Select重载,先将每个数组元素和它在原列表中的索引绑定,过滤符合长度要求的元素后再提取索引即可,代码示例如下:

// 构造示例数据
List<float[]> dataList = new List<float[]>
{
    new float[100],
    new float[80],
    new float[101]
};
// 指定允许的最大数组长度
int maxLength = 100;

// 执行查询获取符合要求的原列表索引
List<int> resultIndexes = dataList
    .Select((array, originalIndex) => new { Array = array, OriginalIndex = originalIndex })
    .Where(item => item.Array.Length <= maxLength)
    .Select(item => item.OriginalIndex)
    .ToList();

上述示例运行后得到的resultIndexes值为[0, 1],和需求预期一致。

注意:不要直接使用Where的索引重载后再提取索引,过滤后的新序列索引和原列表索引不对应,会得到错误的结果。

内容的提问来源于stack exchange,提问作者Abhinav Pandey

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 23:15:01