非常简单的问题:获取最后的索引数
我想知道如何获得数组中的最后一个索引“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