ArrayList.SetRange-Methode
Kopiert die Elemente einer Auflistung über einen Bereich von Elementen in der ArrayList.
Namespace: System.Collections
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Overridable Sub SetRange ( _
index As Integer, _
c As ICollection _
)
'Usage
Dim instance As ArrayList
Dim index As Integer
Dim c As ICollection
instance.SetRange(index, c)
public virtual void SetRange (
int index,
ICollection c
)
public:
virtual void SetRange (
int index,
ICollection^ c
)
public void SetRange (
int index,
ICollection c
)
public function SetRange (
index : int,
c : ICollection
)
Parameter
- index
Der nullbasierte ArrayList-Index, an dem mit dem Kopieren der Elemente von c begonnen werden soll.
- c
Die ICollection, deren Elemente in die ArrayList kopiert werden sollen. Die Auflistung selbst kann nicht NULL (Nothing in Visual Basic) sein, aber sie kann Elemente enthalten, die NULL (Nothing in Visual Basic) sind.
Ausnahmen
Ausnahmetyp | Bedingung |
---|---|
index ist kleiner als 0 (null). – oder – Die Summe aus index und der Anzahl der Elemente in c ist größer als Count. |
|
c ist NULL (Nothing in Visual Basic). |
|
ArrayList ist schreibgeschützt. |
Hinweise
ArrayList akzeptiert NULL (Nothing in Visual Basic) als gültigen Wert und lässt doppelte Elemente zu.
Die Reihenfolge der Elemente in der ICollection wird in der ArrayList beibehalten.
Diese Methode ist eine O(n+1)-Operation, wobei n der Count ist.
Beispiel
Im folgenden Codebeispiel wird veranschaulicht, wie ein Bereich von Elementen in der ArrayList festgelegt und abgerufen wird.
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
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
*/
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( "jumped" );
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 jumped
Index 0 through 4 now contains:
The big gray wolf jumped
*/
import System.*;
import System.Collections.*;
public class SamplesArrayList
{
public static void main(String[] args)
{
// 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');
} //main
public static void PrintValues(IEnumerable myList, char mySeparator)
{
IEnumerator objMyEnum = myList.GetEnumerator();
while (objMyEnum.MoveNext()) {
Object obj = objMyEnum.get_Current();
Console.Write("{0}{1}", (Char)mySeparator, obj);
}
Console.WriteLine();
} //PrintValues
} //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
*/
import System;
import System.Collections;
// Creates and initializes a new ArrayList.
var myAL : ArrayList = 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.
var mySourceList : Queue = new Queue();
mySourceList.Enqueue( "big" );
mySourceList.Enqueue( "gray" );
mySourceList.Enqueue( "wolf" );
// Displays the values of five elements starting at index 0.
var mySubAL : ArrayList = 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' );
function PrintValues( myList : IEnumerable, mySeparator : char ) {
var myEnumerator : System.Collections.IEnumerator = myList.GetEnumerator();
while ( myEnumerator.MoveNext() )
Console.Write( "{0}{1}", mySeparator, myEnumerator.Current );
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
*/
Plattformen
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
ArrayList-Klasse
ArrayList-Member
System.Collections-Namespace
AddRange
InsertRange
GetRange
RemoveRange