Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
SetRange Method

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)

public virtual void SetRange(
	int index,
	ICollection c
)

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.

ExceptionCondition
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
*/

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Show:
© 2015 Microsoft