c# - LINQ 从列表中选择项目并从原始列表中保存它们的索引
问题描述
我从列表中选择了项目。我如何也从原始列表中保存他们的索引?
var originalList = new List<int>(new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 });
var selectedItems = originalList.Where(e => e > 5); // 6, 7, 8, 9, 10, 11, 12, 13
一个例子:
选定项目:
- (6, 索引 = 5)
- (7, 索引 = 6)
- (8, 索引 = 7)
- 等等 ...
解决方案
你必须记住索引。它可以通过Select
重载来完成
var selectedItems = originalList
.Select((e, index) => new { e, index })
.Where(p => p.e > 5)
.ToList();
推荐阅读
- android - 联系人更新到数据库不与 ContentObserver 一起使用
- angular - ngrx - 从商店中为多个可观察对象选择多个项目
- python - 重构更长的“单行”if-condition-assignment(三元 If)的 Pythonic 方式
- node.js - 通过事件网格传递来自 Azure Function 的 HTTP 请求
- c++ - 带参数的累积正态分布函数的逆
- c# - 打印出现问题,然后删除文档
- regex - 不允许前导空格和 (^\\/:*?"<>|) 中的任何字符的正则表达式
- pentaho - 是否可以在 Pentaho 的 PDI 转换步骤中获得“Carte Object ID”?
- flutter - 如何在 Widget initState() 中获取 Navigator 的上下文?
- c# - Buy X Pay for Y 算法