4

背景:

我正在研究评估器(我知道有可用的解决方案,但我需要一些我需要自己实现的功能)。我需要在评估中找到所有出现的开括号。但是,为此我需要括号的所有索引。

问题:

是否有类似 AllIndexesOf 方法返回 aint[]IEnumerable<int>

4

2 回答 2

8

没有,但您可以使用以下 LINQ 查询获取所有索引。

int number  = 10;
int[] intArray = new[] { 1, 32, 10, 5, 65, 6, 10, 10 };
var allIndexes = intArray.Select((r,i)=> new {value = r, index = i})
                         .Where(r=> r.value == number)
                         .Select(r=> r.index);

allIndexes将包含2,6 and 7

于 2013-03-20T07:59:11.017 回答
4

你也可以使用Enumerable.Range

 var indexes = Enumerable.Range(0, list.Count)
                         .Where(index => list[index] == yourValue);
于 2013-03-20T08:03:40.327 回答