ArrayList.GetRange 메서드
소스 ArrayList에서 요소의 하위 집합을 나타내는 ArrayList를 반환합니다.
네임스페이스: System.Collections
어셈블리: mscorlib(mscorlib.dll)
구문
‘선언
Public Overridable Function GetRange ( _
index As Integer, _
count As Integer _
) As ArrayList
‘사용 방법
Dim instance As ArrayList
Dim index As Integer
Dim count As Integer
Dim returnValue As ArrayList
returnValue = instance.GetRange(index, count)
public virtual ArrayList GetRange (
int index,
int count
)
public:
virtual ArrayList^ GetRange (
int index,
int count
)
public ArrayList GetRange (
int index,
int count
)
public function GetRange (
index : int,
count : int
) : ArrayList
매개 변수
- index
범위가 시작되는 ArrayList 인덱스(0부터 시작)입니다.
- count
범위의 요소 수입니다.
반환 값
소스 ArrayList에서 요소의 하위 집합을 나타내는 ArrayList입니다.
예외
예외 형식 | 조건 |
---|---|
index가 0보다 작은 경우 - 또는 - count가 0보다 작은 경우 |
|
index 및 count가 ArrayList에 있는 요소의 올바른 범위를 나타내지 않는 경우 |
설명
이 메서드는 요소의 복사본을 만들지 않습니다. 새 ArrayList는 소스 ArrayList의 유일한 보기 창입니다. 그러나 나중에 소스 ArrayList를 변경하려는 경우 이 보기 창 ArrayList를 통해 변경해야 합니다. 소스 ArrayList를 직접 변경하면 보기 창 ArrayList가 무효화되며 관련 작업을 수행할 경우 InvalidOperationException이 반환됩니다.
이 메서드는 O(1) 연산입니다.
예제
다음 코드 예제에서는 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
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
*/
플랫폼
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에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.
버전 정보
.NET Framework
2.0, 1.1, 1.0에서 지원
참고 항목
참조
ArrayList 클래스
ArrayList 멤버
System.Collections 네임스페이스
RemoveRange
AddRange
InsertRange
SetRange