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 |
댓글