C# | Getting an enumerator for a range of elements in the ArrayList (original) (raw)

Last Updated : 02 Jul, 2019

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:

CSharp `

// 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:

CSharp `

// 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:

Similar Reads