背景
我正在研究评估员(我知道有可用的解决方案,但我需要一些我需要自己实现的功能)。我需要在评估中找到所有出现的括号。但是,为此,我需要括号中的所有索引。
问题:
是否有像AllIndexesOf方法那样返回int[]
或IEnumerable<int>
?
答案 0 :(得分: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
答案 1 :(得分:4)
您也可以使用Enumerable.Range
var indexes = Enumerable.Range(0, list.Count)
.Where(index => list[index] == yourValue);