Open In App

C# | Getting an enumerator for a range of elements in the ArrayList

ArrayList.GetEnumerator(Int32, Int32) method is used to get an enumerator for a range of elements in the ArrayList.

Syntax:



public virtual System.Collections.IEnumerator GetEnumerator (int index, int count);

Parameters:



index: It is the zero-based starting index of type Int32 of the ArrayList section that the enumerator should refer to.

count: It is the number of elements of the type Int32 in the ArrayList section that the enumerator should refer to.

Return Value: This method returns an IEnumerator for the specified range of elements in the ArrayList.

Exceptions:

Below programs illustrate the use of above-discussed method:

Example 1:




// C# code to get an enumerator for a
// range of elements in the ArrayList
using System;
using System.Collections;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating an ArrayList
        ArrayList myList = new ArrayList();
  
        // adding elements in myList
        myList.Add(14);
        myList.Add(45);
        myList.Add(78);
        myList.Add(48);
        myList.Add(49);
        myList.Add(51);
        myList.Add(77);
  
        // To get an Enumerator
        // for the ArrayList
        IEnumerator enumerator = myList.GetEnumerator();
  
        // If MoveNext passes the end of the
        // collection, the enumerator is positioned
        // after the last element in the ArrayList
        // and MoveNext returns false.
        while (enumerator.MoveNext()) {
  
            Console.WriteLine(enumerator.Current);
        }
  
        Console.WriteLine("After GetEnumerator(Int32, Int32) Method: ");
  
        // To get an Enumerator for a range
        // of elements of the ArrayList
        // here index is 3 and count is 2
        IEnumerator e = myList.GetEnumerator(3, 2);
  
        // If MoveNext passes the end of the
        // collection, the enumerator is positioned
        // after the last element in the ArrayList
        // and MoveNext returns false.
        while (e.MoveNext()) {
            Object obj1 = e.Current;
            Console.WriteLine(obj1);
        }
    }
}

Output:

14
45
78
48
49
51
77
After GetEnumerator(Int32, Int32) Method: 
48
49

Example 2:




// C# code to get an enumerator for a
// range of elements in the ArrayList
using System;
using System.Collections;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating an ArrayList
        ArrayList myList = new ArrayList();
  
        // adding elements in myList
        myList.Add("C");
        myList.Add("C++");
        myList.Add("Java");
        myList.Add("Python");
        myList.Add("C#");
        myList.Add("HTML");
        myList.Add("CSS");
  
        Console.WriteLine("After GetEnumerator(Int32, Int32) Method: ");
  
        // To get an Enumerator for a range
        // of elements of the ArrayList
        // this will give error as index is
        // less than zero
        IEnumerator e = myList.GetEnumerator(-1, 2);
  
        // If MoveNext passes the end of the
        // collection, the enumerator is positioned
        // after the last element in the ArrayList
        // and MoveNext returns false.
        while (e.MoveNext()) {
            Object obj1 = e.Current;
            Console.WriteLine(obj1);
        }
    }
}

Runtime Error:

Unhandled Exception:
System.ArgumentOutOfRangeException: Non-negative number required.
Parameter name: index

Note:

Reference:


Article Tags :
C#