2013-03-20 24 views
4

背景:是否有「AllIndexesOf」方法?

我工作的評估(我知道有可用的解決方案,但我需要一些功能,我需要實現我自己)。我需要在評估中找到所有出現的開放括號。但是,爲此我需要括號中的所有索引。

問:

是否有類似的東西返回int[],或IEnumerable<int>的AllIndexesOf方法?

+0

爲什麼關閉票?我得到重複的選票,但爲什麼收到選票。順便說一句,標題是如此不同我錯過了,謝謝蒂姆! – 2013-03-20 08:07:37

+1

Downvoter,請解釋一下! – 2013-03-20 08:10:02

+1

_「我得到重複的選票,但爲什麼收到選票」_重複投票**是**近票。 – 2013-03-20 08:41:51

回答

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

+0

@ofstream,歡迎您 – Habib 2013-03-20 08:50:17

4

您還可以使用Enumerable.Range

var indexes = Enumerable.Range(0, list.Count) 
         .Where(index => list[index] == yourValue); 
+0

這很乾淨。謝謝! – 2013-03-20 08:04:26

相關問題