非常簡單的問題:獲取最後的索引數
我想知道如何獲得數組中的最後一個索引「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;
}
}
但它停在它收到的第一個。
謝謝!
非常簡單的問題:獲取最後的索引數
我想知道如何獲得數組中的最後一個索引「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;
}
}
但它停在它收到的第一個。
謝謝!
你甚至嘗試過尋找解決方案嗎?有這正是這麼做的方法:
Array.LastIndexOf
方法返回一個值最後一次出現的索引中的一維陣列,或在陣列的一部分。
var index = Array.LastIndexOf(source, valueYoureLookingFor);
它停在第一個因爲休息,如果你刪除中斷,你的代碼應該做的伎倆。
for (int i = 0; i < val.Count; i++)
{
if (val[i] == 1)
{
value = i + 1;
}
}
編輯:打我吧,MarcinJuraszek的解決方案還是好多了。
謝謝!你能幫我多做一件事嗎?我需要檢查數組是否包含2個或更多的「1」。 – user3476998
@ user3476998你可以使用LINQ:'source.Count(x => x == 1)> 1' – MarcinJuraszek