我想将此for循环转换为for-each循环
for(int i=0; i<arr.Length; i++)
{
if(arr[i]==arr[i+1]
{
// Do Something
}
}
答案 0 :(得分:2)
是的,你可以用一些额外的代码来做到这一点。但是有问题的代码会破裂。条件i<arr.Length
应替换为i<arr.Length-1
。
下面的代码将与foreach循环一起使用(假设你的数组是一个整数数组)
int previousValue = arr[0];
bool isEntered = false;
foreach (int currentValue in arr)
{
if(isEntered)
{
if(previousValue == currentValue)
{
//do something
}
}
previousValue = currentValue;
isEntered = true;
}
答案 1 :(得分:1)
你可以试试这个
int index=0;
foreach (var item in arr)
{
index++;
if (item == arr[index])
Console.WriteLine("{0} = {1}", item, arr[index]);
if (index == arr.Count()-1) break;
}
答案 2 :(得分:0)
您必须检查您的数组是否至少包含1个元素
var previousItem = arr[0];
foreach (var item in arr.Skip(1))
{
if (previousItem == item)
{
// Do Something
}
previousItem = item;
}