如何获得与我的where子句匹配的行索引?

时间:2013-08-28 06:25:00

标签: c# winforms filter

我有这样的代码:

var result = list3.Where(Srodek => list4.Any(x => x == Srodek.Srodek.category1)).ToList();

我希望能够获得满足此条款的每一行的索引。我该怎么做?可能吗? List3是我的主要清单。

1 个答案:

答案 0 :(得分:1)

Select有一个签名,它接受一个谓词,该谓词将项目及其索引作为输入参数。在筛选列表之前,您可以使用它来保存索引:

var result = list3
    .Select((srodek, index) => new {
       Index = index,
       Match = list4.Any(x => x == srodek.Srodek.category1)
    })
    .Where(x => x.Match)
    .Select(x => x.Index)
    .ToList();