Foreach loop, determine which is the last iteration of the loop

前端 未结 26 936
迷失自我
迷失自我 2020-11-28 02:56

I have a foreach loop and need to execute some logic when the last item is chosen from the List, e.g.:

 foreach (Item result in Mod         


        
26条回答
  •  半阙折子戏
    2020-11-28 03:24

    How to convert foreach to react to the last element:

    List myList = new List() {1, 2, 3, 4, 5};
    Console.WriteLine("foreach version");
    {
        foreach (var current in myList)
        {
            Console.WriteLine(current);
        }
    }
    Console.WriteLine("equivalent that reacts to last element");
    {
        var enumerator = myList.GetEnumerator();
        if (enumerator.MoveNext() == true) // Corner case: empty list.
        {
            while (true)
            {
                int current = enumerator.Current;
    
                // Handle current element here.
                Console.WriteLine(current);
    
                bool ifLastElement = (enumerator.MoveNext() == false);
                if (ifLastElement)
                {
                    // Cleanup after last element
                    Console.WriteLine("[last element]");
                    break;
                }
            }
        }
        enumerator.Dispose();
    }
    

提交回复
热议问题