簡體   English   中英

如何在C#中使用foreach循環比較兩個數組值

[英]How to compare two array values using foreach loop in C#

我想將此for循環轉換為for-each循環

for(int i=0; i<arr.Length; i++)
{
    if(arr[i]==arr[i+1]
    {
      // Do Something
    }
}

是的,您可以執行一些額外的代碼行。 但是有問題的代碼將被破壞。 條件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;
            }

你可以試試這個

        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;
        } 

您必須檢查您的數組是否至少包含1個元素

        var previousItem = arr[0];
        foreach (var item in arr.Skip(1))
        {
            if (previousItem == item)
            {
                // Do Something
            }
            previousItem = item;
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM