C# 프로그래밍 - List<T> 클래스 사용 예시와 유용한 함수들

C# 프로그래밍 - List<T> 클래스 사용 예시와 유용한 함수들

List<T>는 동적 배열을 구현하는 제네릭 컬렉션입니다. 다양한 데이터 유형을 저장하고 크기를 동적으로 조정할수있습니다. List<T> 클래스를 통해 제공되며 목록을 검색, 정렬, 수정하는 다양한 메서드를 제공합니다.


리스트 생성

리스트를 생성하려면 List<T>를 사용하고 타입 매개변수 T를 지정합니다. 
정수형 리스트
List<int> intList = new List<int>();
문자열 리스트
List<string> stringList = new List<string>(); //

 

리스트에 값 추가

Add 함수를 사용하여 리스트에 값을 추가합니다.
intList.Add(1);
intList.Add(2);
intList.Add(3);

stringList.Add("Hello");
stringList.Add("World");

 


리스트의 값 조회

인덱스를 사용하여 리스트의 값을 조회합니다(인덱스는 0부터 시작)
int firstElement = intList[0]; //1
string secondElement = stringList[1]; //"World"


리스트 크기 확인

Count 속성을 사용하여 리스트의 크기를 확인합니다.
int count = intList.Count; // 3


리스트에서 값 제거

Remove 또는 RemoveAt 함수를 사용하여 리스트에서 값을 제거합니다.
intList.Remove(2); //값 2 제거
intList.RemoveAt(2); //세번째 요소를 제거


리스트 순회

for 루프를 사용하여 리스트의 요소를 순회
for (int i = 0; i < intList.Count; i++)
{
Console.WriteLine(intList[i]);
}

foreach 루프를 사용하여 리스트의 요소를 순회
foreach (int number in intList)
{
    Console.WriteLine(number);
}


 

List<T> 클래스 유용한 함수들

 

리스트 생성
List<int> numbers = new List<int>();

Add
리스트에 요소 추가
numbers.Add(10);
numbers.Add(20);
numbers.Add(30);

Insert
리스트의 특정 인덱스에 요소 삽입
numbers.Insert(1, 15); // 인덱스 1에 15 추가

 

Contains
특정 값이 리스트에 포함되어 있는지 확인
bool hasTwenty = numbers.Contains(20); //true


Remove
리스트의 요소 삭제
numbers.Remove(20); // 값이 20인 요소 삭제

RemoveAt
인덱스를 사용하여 요소 삭제
numbers.RemoveAt(0); // 인덱스 0의 요소 삭제

IndexOf
리스트에서 특정 값의 인덱스 찾기
int index = numbers.IndexOf(30); // 값이 30인 요소의 인덱스

Clear
리스트의 모든 요소 제거
numbers.Clear(); 

 

 

GetRange
지정된 인덱스에서 시작하여 지정된 수의 요소를 포함하는 하위 리스트를 반환
List<int> numbers = new List<int> { 10, 20, 30, 40, 50 };

 

인덱스 1에서 3개의 요소로 새로운 리스트 생성
List<int> subList = numbers.GetRange(1, 3); // subList는 { 20, 30, 40 }

AddRange
다른 리스트의 요소를 현재 리스트에 추가
List<int> numbers = new List<int> { 10, 20, 30 };
List<int> moreNumbers = new List<int> { 40, 50, 60 };
numbers.AddRange(moreNumbers); //numbers는 {10, 20, 30, 40, 50, 60}

 

새로운 배열을 현재 리스트에 추가

List<int> numbers = new List<int> { 1, 2, 3 };
numbers.AddRange(new int[] { 4, 5, 6 }); //numbers는  { 1, 2, 3, 4, 5, 6 }

 

InsertRange 
지정된 인덱스에 다른 컬렉션의 요소를 삽입
List<int> numbers = new List<int> { 10, 20, 30 };
List<int> newNumbers = new List<int> { 40, 50 };

인덱스 1에 newNumbers 리스트의 요소를 삽입
numbers.InsertRange(1, newNumbers); // numbers는 { 10, 40, 50, 20, 30 }



RemoveRange
지정된 인덱스에서 시작하여 지정된 수만큼의 요소를 삭제
List<int> numbers = new List<int> { 10, 20, 30, 40, 50 };

인덱스 1에서 3개의 요소를 삭제
numbers.RemoveRange(1, 3); //numbers는 { 10, 50 }

 


ToArray
리스트의 모든 요소를 새 배열로 복사
int[] numberArray = numbers.ToArray();


https://learn.microsoft.com/ko-kr/dotnet/api/system.collections.generic.list-1.-ctor?view=net-8.0

 

List<T> 생성자 (System.Collections.Generic)

List<T> 클래스의 새 인스턴스를 초기화합니다.

learn.microsoft.com

댓글

Designed by JB FACTORY