본문 바로가기
C#

C# - List 기본함수 사용법(Add, AddRange, Contains, Clear, IndexOf, Remove, RemoveAll, Reverse, ToArray, Sort)

by 개발 그리고 게발 2021. 7. 14.
728x90

List<T>를 이용하여 MS에서 제공하는 함수를 이용하면 리스트 구현을 손쉽게 할 수 있는데 자주 사용하며 간단한 함수를 몇가지 알아보도록 하겠습니다.

 

 

 

Sample List

예시로 진행될 샘플 리스트는 아래와 같습니다.

List<string> lst = new List<string>() { "Kim", "Lee", "Jang", "Park" };

 

 

 

Add

List에 추가로 동일한 데이터타입의 요소를 추가합니다.

lst.Add("Choi");

// 결과
"Kim", "Lee", "Jang", "Park", "Choi"

 

 

 

AddRange

List에 배열로 요소를 추가합니다.

// List : "Kim", "Lee", "Jang", "Park"

// 1. 제너릭 배열을 추가
lst.AddRange(new List<string> { "OS", "PS", "QI" });
// 결과
"Kim", "Lee", "Jang", "Park", "OS", "PS", "QI"

// 2. string 배열을 추가
lst.AddRange(new string[] { "OS", "PS", "QI" });
// 결과
"Kim", "Lee", "Jang", "Park", "OS", "PS", "QI"

 

 

 

Contains

List에 해당요소를 갖고있는지 bool로 확인합니다.

// List : "Kim", "Lee", "Jang", "Park"

lst.Contains("Kim");
// 결과 : true

lst.Contains("Sung");
// 결과 : false

 

 

 

Clear

List의 요소를 모두 제거합니다

// List : "Kim", "Lee", "Jang", "Park"

lst.Clear();

 

 

 

IndexOf

List에 해당요소가 위치한 index를 반환합니다. 해당요소가 없을 경우 -1을 반환합니다

// List : "Kim", "Lee", "Jang", "Park"

int idx = lst.IndexOf("Kim");
// 결과 0

int idx = lst.IndexOf("Jang");
// 결과 2

int idx2 = lst.IndexOf("Han");
// 결과 -1

 

 

 

Remove

List에 해당요소를 삭제처리합니다.

// List : "Kim", "Lee", "Jang", "Park"
lst.Remove("Park");

// 결과
"Kim", "Lee", "Jang"

 

 

 

RemoveAll

List에 조건을 만족하는 모든 요소를 삭제처리합니다.

List<int> lst = new List<int>() { 1, 2, 3, 4, 5, 6, 7 };

// 2의배수값을 모두 삭제
lst.RemoveAll(x => (x % 2) == 0);

// 결과값
1, 3, 5, 7

 

 

 

Reverse

List에 있는 현재요소들을 역순으로 정렬합니다.

// List : "Kim", "Lee", "Jang", "Park"
lst.Reverse();

// 결과
"Park", "Jang", "Lee", "Kim"

 

 

 

ToArray

제너릭 배열을 해당 데이터 타입의 배열로 변환합니다.

string[] str_arr = lst.ToArray();

// 결과(str_arr)
"Kim", "Lee", "Jang", "Park"

 

 

 

Sort

배열을 오름차순, 내림차순으로 정렬합니다.

List<int> int_lst = new List<int> { 7, 4, 12, 1, 8, 5, 53, 88 };

// 오름차순
int_lst.Sort();
int_lst.Sort((a, b) => a.CompareTo(b));

//결과
1, 4, 5, 7, 8, 12, 53, 88


// 내림차순
int_lst.Sort((a, b) => b.CompareTo(a));

// 결과
88, 53, 12, 8, 7, 5, 4, 1

 

728x90

'C#' 카테고리의 다른 글

C# - this 메소드를 이용한 클래스 구현  (0) 2021.07.22
C# - 확장메소드 사용법 및 예시  (0) 2021.07.15
C# - Get Set의 사용법, 의미  (0) 2021.07.12
C# - Xml파일 제어, Xml파싱  (0) 2021.07.08
C# - 연산자 오버로드  (0) 2021.07.08

댓글