ArrayList.SetRange Method
Copies the elements of a collection over a range of elements in the ArrayList.
Namespace: System.Collections
Assembly: mscorlib (in mscorlib.dll)
Parameters
- index
- Type: System.Int32
The zero-based ArrayList index at which to start copying the elements of c.
- c
- Type: System.Collections.ICollection
The ICollection whose elements to copy to the ArrayList. The collection itself cannot be null, but it can contain elements that are null.
| Exception | Condition |
|---|---|
| ArgumentOutOfRangeException | index is less than zero. -or- index plus the number of elements in c is greater than Count. |
| ArgumentNullException | c is null. |
| NotSupportedException | The ArrayList is read-only. |
ArrayList accepts null as a valid value and allows duplicate elements.
The order of the elements in the ICollection is preserved in the ArrayList.
This method is an O(n + 1) operation, where n is Count.
The following code example shows how to set and get a range of elements in the ArrayList.
using System; using System.Collections; public class SamplesArrayList { public static void Main() { // Creates and initializes a new ArrayList. ArrayList myAL = new ArrayList(); myAL.Add( "The" ); myAL.Add( "quick" ); myAL.Add( "brown" ); myAL.Add( "fox" ); myAL.Add( "jumped" ); myAL.Add( "over" ); myAL.Add( "the" ); myAL.Add( "lazy" ); myAL.Add( "dog" ); // Creates and initializes the source ICollection. Queue mySourceList = new Queue(); mySourceList.Enqueue( "big" ); mySourceList.Enqueue( "gray" ); mySourceList.Enqueue( "wolf" ); // Displays the values of five elements starting at index 0. ArrayList mySubAL = myAL.GetRange( 0, 5 ); Console.WriteLine( "Index 0 through 4 contains:" ); PrintValues( mySubAL, '\t' ); // Replaces the values of five elements starting at index 1 with the values in the ICollection. myAL.SetRange( 1, mySourceList ); // Displays the values of five elements starting at index 0. mySubAL = myAL.GetRange( 0, 5 ); Console.WriteLine( "Index 0 through 4 now contains:" ); PrintValues( mySubAL, '\t' ); } public static void PrintValues( IEnumerable myList, char mySeparator ) { foreach ( Object obj in myList ) Console.Write( "{0}{1}", mySeparator, obj ); Console.WriteLine(); } } /* This code produces the following output. Index 0 through 4 contains: The quick brown fox jumped Index 0 through 4 now contains: The big gray wolf jumped */
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.