2014-03-30 116 views
0

非常簡單的問題:獲取最後的索引數

我想知道如何獲得數組中的最後一個索引「1」?

例如{0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0} = 13

目前我使用這種方法:

for (int i = 0; i < val.Count; i++) 
{ 
    if (val[i] == 1) 
    { 
      value = i + 1; 
      break; 
    } 
} 

但它停在它收到的第一個。

謝謝!

回答

3

你甚至嘗試過尋找解決方案嗎?有這正是這麼做的方法:

Array.LastIndexOf方法

返回一個值最後一次出現的索引中的一維陣列,或在陣列的一部分。

var index = Array.LastIndexOf(source, valueYoureLookingFor); 
+0

謝謝!你能幫我多做一件事嗎?我需要檢查數組是否包含2個或更多的「1」。 – user3476998

+0

@ user3476998你可以使用LINQ:'source.Count(x => x == 1)> 1' – MarcinJuraszek

0

它停在第一個因爲休息,如果你刪除中斷,你的代碼應該做的伎倆。

for (int i = 0; i < val.Count; i++) 
{ 
    if (val[i] == 1) 
    { 
      value = i + 1; 
    } 
} 

編輯:打我吧,MarcinJuraszek的解決方案還是好多了。

相關問題