ArrayList.GetRange Method
Assembly: mscorlib (in mscorlib.dll)
public ArrayList GetRange ( int index, int count )
public function GetRange ( index : int, count : int ) : ArrayList
Not applicable.
Parameters
- index
The zero-based ArrayList index at which the range starts.
- count
The number of elements in the range.
Return Value
An ArrayList which represents a subset of the elements in the source ArrayList.This method does not create copies of the elements. The new ArrayList is only a view window into the source ArrayList. However, all subsequent changes to the source ArrayList must be done through this view window ArrayList. If changes are made directly to the source ArrayList, the view window ArrayList is invalidated and any operations on it will return an InvalidOperationException.
This method is an O(1) operation.
The following code example shows how to set and get a range of elements in the 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( "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 */
Windows 98, Windows Server 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
The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.