ArrayList.SetRange(Int32, ICollection) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Copia os elementos de uma coleção em um intervalo de elementos no ArrayList.
public:
virtual void SetRange(int index, System::Collections::ICollection ^ c);
public virtual void SetRange (int index, System.Collections.ICollection c);
abstract member SetRange : int * System.Collections.ICollection -> unit
override this.SetRange : int * System.Collections.ICollection -> unit
Public Overridable Sub SetRange (index As Integer, c As ICollection)
Parâmetros
O ICollection cujos elementos copiar para o ArrayList. A coleção em si não pode ser null
, mas pode conter elementos que são null
.
Exceções
c
é null
.
O ArrayList é somente leitura.
Exemplos
O exemplo de código a seguir mostra como definir e obter um intervalo de elementos no ArrayList.
using namespace System;
using namespace System::Collections;
void PrintValues( IEnumerable^ myList, char mySeparator );
int main()
{
// Creates and initializes a new ArrayList.
ArrayList^ myAL = gcnew ArrayList;
myAL->Add( "The" );
myAL->Add( "quick" );
myAL->Add( "brown" );
myAL->Add( "fox" );
myAL->Add( "jumps" );
myAL->Add( "over" );
myAL->Add( "the" );
myAL->Add( "lazy" );
myAL->Add( "dog" );
// Creates and initializes the source ICollection.
Queue^ mySourceList = gcnew 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' );
}
void PrintValues( IEnumerable^ myList, char mySeparator )
{
IEnumerator^ myEnum = myList->GetEnumerator();
while ( myEnum->MoveNext() )
{
Object^ obj = safe_cast<Object^>(myEnum->Current);
Console::Write( "{0}{1}", mySeparator, obj );
}
Console::WriteLine();
}
/*
This code produces the following output.
Index 0 through 4 contains:
The quick brown fox jumps
Index 0 through 4 now contains:
The big gray wolf jumps
*/
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( "jumps" );
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 jumps
Index 0 through 4 now contains:
The big gray wolf jumps
*/
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("jumps")
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
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
End Class
' This code produces the following output.
'
' Index 0 through 4 contains:
' The quick brown fox jumps
' Index 0 through 4 now contains:
' The big gray wolf jumps
Comentários
ArrayListnull
aceita como um valor válido e permite elementos duplicados.
A ordem dos elementos no ICollection é preservada no ArrayList.
Esse método é uma O(n)
operação, em que n
é Count.