Export (0) Print
Expand All

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)

'Declaration
Public Overridable Sub SetRange ( _
	index As Integer, _
	c As ICollection _
)

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 Nothing, but it can contain elements that are Nothing.

ExceptionCondition
ArgumentOutOfRangeException

index is less than zero.

-or-

index plus the number of elements in c is greater than Count.

ArgumentNullException

c is Nothing.

NotSupportedException

The ArrayList is read-only.

ArrayList accepts Nothing 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.

Imports System
Imports System.Collections

Public Class SamplesArrayList

    Public Shared Sub Main()

        ' Creates and initializes a new ArrayList. 
        Dim myAL As 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. 
        Dim mySourceList As New Queue()
        mySourceList.Enqueue("big")
        mySourceList.Enqueue("gray")
        mySourceList.Enqueue("wolf")

        ' Displays the values of five elements starting at index 0. 
        Dim mySubAL As ArrayList = myAL.GetRange(0, 5)
        Console.WriteLine("Index 0 through 4 contains:")
        PrintValues(mySubAL, vbTab)

        ' 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, vbTab)

    End Sub 'Main

    Public Shared Sub PrintValues(myList As IEnumerable, mySeparator As Char)
        Dim obj As [Object]
        For Each obj In  myList
            Console.Write("{0}{1}", mySeparator, obj)
        Next obj
        Console.WriteLine()
    End Sub 'PrintValues

End Class 'SamplesArrayList 


' 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, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, 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.

Show:
© 2014 Microsoft