List<T>에 대해 알아보자.
List<T> Class
인덱스에서 엑세스할 수 있는 강력한 형식의 개체 목록을 나타낸다. 목록을 검색, 정렬 및 조작하는 Method를 제공한다.
C#
public class List<T> : System.Collections.Generic.ICollection<T>,
System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IList<T>,
System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.Generic.IReadOnlyList<T>,
System.Collections.IList
Type Parameters
T
목록에 있는 요소의 형식이다.
Inheritance : Object → List<T>
Constructors
System.Collections.Generic.List\`1 클래스의 새 인스턴스를 초기화합니다.
Overloads
List<T>() |
비어 있는 상태에서 기본 초기 용량을 가지는 List<T> 클래스의 새 인스턴스를 초기화 한다. |
List<T>(IEnumerable<T>) |
지정된 컬렉션에서 복사한 요소를 포함하고 복사한 요소를 모두 수용할 수 있을 정도의 용량을 가진 List<T> 클래스의 새 인스턴스를 초기화 한다. |
List<T>(Int32) |
비어 있는 상태에서 지정한 초기 용량을 가지는 List<T> 클래스의 새 인스턴스를 초기화 한다. |
List<T>()
비어 있는 상태에서 기본 초기 용량을 가지는 List<T> 클래스의 새 인스턴스를 초기화 한다.
C#
public List ();
List<T>(IEnumerable<T>)
지정된 컬렉션에서 복사한 요소를 포함하고 복사한 요소를 모두 수용할 수 있을 정도의 용량을 가진 List<T> 클래스의 새 인스턴스를 초기화 한다.
C#
public List (System.Collections.Generic.IEnumerable<T> collection);
Parameters
Collection - IEnumerable<T> : 요소가 새 목록에 복사되는 컬렉션이다.
List<T>(Int32)
비어 있는 상태에서 지정한 초기 용량을 가지는 List<T> 클래스의 새 인스턴스를 초기화 한다.
C#
public List (int capacity);
Parameters
Capacity - Int32 : 새 목록에 처음부터 저장할 수 있는 요소 수 이다.
Properties
크기를 조정하지 않고 내부 데이터 구조가 보유할 수 있는 전체 요소 수를 가져오거나 설정한다.
C#
public int Capacity { get; set; }
Property Value - Int32 : 크기를 조정하지 않고 List<T>에 포함될 수 있는 요소 수 이다.
List<T>에 있는 요소의 개수를 가져온다.
C#
public int Count { get; }
Property Value - Int32 : List<T>에 있는 요소의 개수이다.
지정한 인덱스에 있는 요소를 가져오거나 설정한다.
C#
public T this[int index] { get; set; }
Parameters
Index Int32
가져오거나 설정할 요소의 0부터 시작하는 인덱스이다.
Property Value - T : 지정한 인덱스에 있는 요소이다.
Implements : Item[Int32]
Methods
List<T>의 끝에 개체를 추가한다.
C#
public void Add (T item);
Parameters
item T
List<T> 끝에 추가할 개체이다. 참조 형식에 대해 값은 null 이 될 수 있다.
Implements : Add(T)
List<T>.AddRange(IEnumerable<T>) Method
지정된 컬렉션의 요소를 List<T>의 끝에 추가한다.
C#
public void AddRange (System.Collections.Generic.IEnumerable<T> collection);
Parameters
collection IEnumerable<T>
요소가 List<T>의 끝에 추가되어야 하는 컬렉션이다. 컬렉션 자체가 null 일 수는 없지만, T 형식이 참조 형식인 경우 null 인 요소를 포함할 수 있다.
현재 컬렉션에 대한 읽기 전용 ReadOnly Collection<T> 래퍼를 반환한다.
C#
public System.Collections.ObjectModel.ReadOnlyCollection<T> AsReadOnly ();
Returns
현재 List<T>에 대한 읽기 전용 래퍼 역할을 하는 개체이다.
이진 검색 알고리즘을 사용하여 정렬된 List<T>나 그 일부에서 특정 요소를 찾는다.
Overloeds
BinarySearch(T) |
기본 비교자를 사용하여 정렬된 전체 List<T>에서 요소를 검색하고 요소의 인덱스(0부터 시작)를 반환한다. |
BinarySearch(T,ICompare<T>) |
지정된 비교자를 사용하여 정렬된 전체 List<T>에서 요소를 검색하고 요소의 인덱스(0부터 시작)를 반환한다. |
BinarySearch(Int32, Int32, T, ICompare<T>) |
지정된 비교자를 사용하여 정렬된 List<T>의 요소 범위에서 요소를 검색하고 요소의 인덱스(0부터 시작)를 반환한다. |
BinarySearch(T)
기본 비교자를 사용하여 정렬된 전체 List<T>에서 요소를 검색하고 요소의 인덱스(0부터 시작)를 반환한다.
C#
public int BinarySearch (T item);
Parameters
item T
찾을 개체이다. 참조 형식에 대해 값은 null 이 될 수 있다.
Returns : Int32
item 이 있으면 정렬된 List에 있는 item 의 인덱스(0부터 시작)이고, 그렇지 않으면 item 보다 큰 다음 요소의 인덱스에 대한 비트 보수인 음수이거나 더 큰 요소가 없는 경우 Count의 비트 보수이다.
BinarySearch(T, ICompare<T>)
지정된 비교자를 사용하여 정렬된 전체 List<T>에서 요소를 검색하고 요소의 인덱스(0부터 시작)를 반환한다.
C#
public int BinarySearch (T item, System.Collections.Generic.IComparer<T> comparer);
Parameters
item T
찾을 개체이다. 참조 형식에 대해 값은 null 이 될 수 있다.
comparer ICompare<T>
요소를 비교할 때 사용하는 ICompare<T> 구현이다.
또는, 기본 비교자 Default를 사용하려면 null 이다.
Returns : Int32
item 이 있으면 정렬된 List에 있는 item 의 인덱스(0부터 시작)이고, 그렇지 않으면 item 보다 큰 다음 요소의 인덱스에 대한 비트 보수인 음수이거나 더 큰 요소가 없는 경우 Count의 비트 보수이다.
BinarySearch(Int32, Int32, T, ICompare<T>)
지정된 비교자를 사용하여 정렬된 List<T>의 요소 범위에서 요소를 검색하고 요소의 인덱스(0부터 시작)를 반환한다.
C#
public int BinarySearch (int index, int count, T item, System.Collections.Generic.IComparer<T> comparer);
Parameters
Index Int32
검색할 범위의 0부터 시작하는 인덱스이다.
count Int32
검색할 범위의 길이이다.
item T
찾을 개체이다. 참조 형식에 대해 값은 null 이 될 수 있다.
comparer ICompare<T>
요소를 비교할 때 사용하는 ICompare<T> 구현이거나, 기본 비교자 Default를 사용하려면 null 이다.
Returns : Int32
item 이 있으면 정렬된 List에 있는 item 의 인덱스(0부터 시작)이고, 그렇지 않으면 item 보다 큰 다음 요소의 인덱스에 대한 비트 보수인 음수이거나 더 큰 요소가 없는 경우 Count의 비트 보수이다.
List<T>에서 모든 요소를 제거한다.
C#
public void Clear ();
List<T>에 요소가 있는지 여부를 확인한다.
C#
public bool Contains (T item);
Parameters
item T
찾을 개체이다. 참조 형식에 대해 값은 null 이 될 수 있다.
Returns : Boolean
true 가 item 에 있으면 List<T>이고, 그렇지 않으면 false 이다.
List<T>.ConvertAll<TOutput>(Convert<T,TOutput>) Method
현재 List<T>의 요소를 다른 형식으로 변환하고 변환된 요소를 포함하는 목록을 반환한다.
C#
public System.Collections.Generic.List<TOutput> ConvertAll<TOutput> (Converter<T,TOutput> converter);
Type Parameters
TOutput 대상 배열 요소의 형식이다.
Parameters
Converter Converter<T, TOutput>
각 요소를 한 형식에서 다른 형식으로 변환하는 Converter<TInput, TOutput> 대리자이다.
Returns : List<TOutput>
현재 List<T>에서 변환된 요소를 포함하는 대상 유형의 List<T>이다.
List<T>이나 그 일부를 배열에 복사한다.
Overloads
CopyTo(T[], Int32) |
대상 배열의 지정된 인덱스에서 시작하여 전체 List<T>을 호환되는 1차원 배열에 복사한다. |
CopyTo(Int32, T[], Int32, Int32) |
대상 배열의 지정된 인덱스에서 시작하여 List<T>에 있는 일련의 요소를 호환되는 1차원 배열에 복사한다. |
CopyTo(T[]) |
대상 배열의 처음부터 시작하여 전체 List<T>을 호환되는 1차원 배열에 복사한다. |
CopyTo(T[], Int32)
대상 배열의 지정된 인덱스에서 시작하여 전체 List<T>을 호환되는 1차원 배열에 복사한다.
C#
public void CopyTo (T[] array, int arrayIndex);
Parameters
array T[]
Array에서 복사한 요소의 대상인 1차원 List<T>이다. Array의 인덱스는 0부터 시작해야 한다.
arrayIndex Int32
복사가 시작되는 array 의 인덱스(0부터 시작)이다.
Implements : CopyTo(T[], Int32)
CopyTo(Int32, T[], Int32, Int32)
대상 배열의 지정된 인덱스에서 시작하여 List<T>에 있는 일련의 요소를 호환되는 1차원 배열에 복사한다.
C#
public void CopyTo (int index, T[] array, int arrayIndex, int count);
Parameters
index Int32
소스 List<T>에서 복사가 시작되는 인덱스(0부터 시작)이다.
array T[]
Array에서 복사한 요소의 대상인 1차원 List<T>이다. Array의 인덱스는 0부터 시작해야 한다.
arrayIndex Int32
복사가 시작되는 array 의 인덱스(0부터 시작)이다.
count Int32
복사할 요소의 수 이다.
CopyTo(T[])
대상 배열의 처음부터 시작하여 전체 List<T>을 호환되는 1차원 배열에 복사한다.
C#
public void CopyTo (T[] array);
Parameters
array T[]
Array에서 복사한 요소의 대상인 1차원 List<T>이다. Array의 인덱스는 0부터 시작해야 한다.
List<T>.Exists(Predicate<T>) Method
지정된 조건자에 정의된 조건과 일치하는 요소가 List<T>에 포함되어 있는지 여부를 확인한다.
C#
public bool Exists (Predicate<T> match);
<>Parameters
match Predicate<T>
검색할 요소의 조건을 정의하는 Predicate<T> 대리자이다.
Returns : Boolean
지정된 조건자의 정의된 조건과 일치하는 요소가 하나 이상 List<T>에 포함되어 있으면 true 이고, 그렇지 않으면 false 이다.
List<T>.Find(Predicate<T>) Method
지정된 조건자의 정의된 조건과 일치하는 요소를 검색하고 전체 List<T>에서 처음으로 검색한 요소를 반환한다.
C#
public T Find (Predicate<T> match);
Parameters
match Predicate<T>
검색할 요소의 조건을 정의하는 Predicate<T> 대리자이다.
Returns : T
지정된 조건자에 정의된 조건과 일치하는 요소가 있으면 일치하는 요소 중 첫 번째 요소이고, 그렇지 않으면 T 형식의 기본값이다.
List<T>.FindAll(Predicate<T>) Method
지정한 조건자에 정의된 조건과 일치하는 모든 요소를 검색한다.
C#
public System.Collections.Generic.List<T> FindAll (Predicate<T> match);
Parameters
match Predicate<T>
검색할 요소의 조건을 정의하는 Predicate<T> 대리자이다.
Returns : List<T>
지정된 조건자에 정의된 조건과 일치하는 요소가 있으면 일치하는 요소가 있으면 해당 요소를 모두 포함하는 List<T>이고, 그렇지 않으면 빈 List<T>이다.