2014-03-30 87 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的解决方案还是好多了。

相关问题