ArrayList.GetRange(Int32, Int32) Méthode
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
public:
virtual System::Collections::ArrayList ^ GetRange(int index, int count);
public virtual System.Collections.ArrayList GetRange (int index, int count);
abstract member GetRange : int * int -> System.Collections.ArrayList
override this.GetRange : int * int -> System.Collections.ArrayList
Public Overridable Function GetRange (index As Integer, count As Integer) As ArrayList
- count
- Int32
Nombre d'éléments dans la plage.
ArrayList qui représente un sous-ensemble des éléments dans le ArrayList source.
index
et count
ne désignent pas une plage d’éléments valide du ArrayList.
L’exemple de code suivant montre comment définir et obtenir une plage d’éléments dans .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
Cette méthode ne crée pas de copies des éléments. Le nouveau ArrayList n’est qu’une fenêtre d’affichage dans la source ArrayList. Toutefois, toutes les modifications suivantes apportées à la source ArrayList doivent être effectuées via cette fenêtre ArrayListd’affichage . Si des modifications sont apportées directement à la source ArrayList, la fenêtre ArrayList d’affichage est invalidée et toutes les opérations sur celle-ci retournent un InvalidOperationException.
Cette méthode est une O(1)
opération.
Produit | Versions |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
UWP | 10.0 |
Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires :