c# - 满足给定条件的元素的索引

标签 c# linq list

我正在寻找一个 linq 表达式,它是 FindIndex 的扩展方法。它只返回第一个索引。我想要满足条件的列表中的所有索引。

例如:

var indx = myList.FindIndex(x => (x <= -Math.PI / 3) || (x >= Math.PI / 3));

最佳答案

那么您需要使用 LINQ,因为 List.FindIndex 仅返回第一个。您可以使用 Enumerable.Select 的重载,它给出序列中项目的索引来创建匿名类型。

IEnumerable<int> allIndices = myList
    .Select((item, index) => new { item, index })
    .Where(x => (x.item <= -Math.PI / 3) || (x.item >= Math.PI / 3))
    .Select(x => x.index);

关于c# - 满足给定条件的元素的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19908241/

相关文章:

c# - 有没有办法在设计器中使用自定义控件并避免 GAC?

c# - 如何从表示为 float 组的高度图创建 3D 网格

c# - ASP.NET MVC 4 ViewModel查询

c# - 使用 Group by 从第二个(右)连接实体获取属性

java - 如何从 LinkedHashMap 获取 key

python - python sum(list) 和 reduce(lambda x, y : x+y, list) 之间的差异?

c# - 如何使用 CsQuery 从 HTML 获取 javascript 变量值

c# - ElasticSearch NEST-先按GroupBy再按OrderBy

c# - 使用 lambda 从嵌套列表中分离值

java - 如果值是列表/数组,则在 weka 中创建数据集