C# | Getting a subset of the elements from the source ArrayList
ArrayList.GetRange(Int32, Int32) Method is used to get an ArrayList which will represent a subset of the elements in the source ArrayList.
Syntax:
public virtual System.Collections.ArrayList GetRange (int index, int count);
Parameters:
index: It is of Int32 type and represents the zero-based ArrayList index at which the range starts.
count: It is of Int32 type and represents the number of elements in the range.
Return Value: This method returns an ArrayList which represents a subset of the elements in the source ArrayList.
Exceptions:
- ArgumentOutOfRangeException: If the value of the index is less than zero, or if the value of count is less than zero.
- ArgumentException: If the value of an index and count does not denote a valid range of elements in the ArrayList.
Below programs illustrate the above-discussed method:
Example 1:
// C# program to illustrate the // concept of GetRange() Method using System; using System.Collections; class GFG { // Main method public static void Main() { // Creates and initializes // a new ArrayList. ArrayList myarraylist = new ArrayList(); myarraylist.Add( "Welcome" ); myarraylist.Add( "to" ); myarraylist.Add( "Geeks" ); myarraylist.Add( "for" ); myarraylist.Add( "Geeks" ); myarraylist.Add( "portal" ); // Creates and initializes queue Queue mynewList = new Queue(); mynewList.Enqueue( "This" ); mynewList.Enqueue( "is" ); mynewList.Enqueue( "C#" ); mynewList.Enqueue( "tutorial" ); // Displays the values of six // elements starting at index 0. ArrayList newarraylist = myarraylist.GetRange(0, 6); Console.WriteLine( "Elements are:" ); Displaydata(newarraylist, '\n' ); // Replaces the values of six elements // starting at index 1 with the values // in the queue. myarraylist.SetRange(2, mynewList); // Displays the values of six // elements starting at index 0. newarraylist = myarraylist.GetRange(0, 6); Console.WriteLine( "\nNow elements are:" ); Displaydata(newarraylist, '\n' ); } public static void Displaydata(IEnumerable myvalueList, char mySeparator) { foreach (Object obj in myvalueList) Console.Write( "{0}{1}" , mySeparator, obj); Console.WriteLine(); } } |
Output:
Elements are: Welcome to Geeks for Geeks portal Now elements are: Welcome to This is C# tutorial
Example 2:
// C# program to illustrate the // concept of GetRange() Method using System; using System.Collections; class GFG { // Main method public static void Main() { // Creates and initializes a new ArrayList. ArrayList myarraylist = new ArrayList(); myarraylist.Add( "Welcome" ); myarraylist.Add( "to" ); myarraylist.Add( "Geeks" ); myarraylist.Add( "for" ); myarraylist.Add( "Geeks" ); myarraylist.Add( "portal" ); // Creates and initializes queue Queue mynewList = new Queue(); mynewList.Enqueue( "This" ); mynewList.Enqueue( "is" ); mynewList.Enqueue( "C#" ); mynewList.Enqueue( "tutorial" ); // Displays the values of six elements ArrayList newarraylist = myarraylist.GetRange(-1, 6); Console.WriteLine( "Elements are:" ); Displaydata(newarraylist, '\n' ); // Replaces the values of six elements // starting at index 1 with the // values in the queue. myarraylist.SetRange(2, mynewList); // Displays the values of six // elements starting at index 0. newarraylist = myarraylist.GetRange(0, 6); Console.WriteLine( "Now elements are:" ); Displaydata(newarraylist, '\n' ); } public static void Displaydata(IEnumerable myvalueList, char mySeparator) { foreach (Object obj in myvalueList) Console.Write( "{0}{1}" , mySeparator, obj); Console.WriteLine(); } } |
Runtime Error:
Unhandled Exception:
System.ArgumentOutOfRangeException: Non-negative number required.
Parameter name: index
Reference:
Please Login to comment...