티스토리 뷰
목차
반응형
C# List의 RemoveAll() 함수는 사용자 정의 조건에 맞는 모든 요소를 제거합니다.
1 2 3 | public int RemoveAll( Predicate<T> match ) | cs |
아래 두 개의 예제를 통해 C# List 요소를 제거하는 몇 가지 방법을 소개합니다.
리스트 삭제는 개별 요소, 전체 요소, 값으로 지우기 등 여러가지 방법이 있습니다.
C# List RemoveAll 첫번째. Remove(), RemoveAt(), RemoveRange(), RemoveAll() + 람다
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | List<string> words = new List<string>(); words.Add("A"); words.Add("B"); words.Add("C"); words.Add("D"); words.Add("E"); words.Add("F"); words.Remove("A"); // B, C, D, E, F words.RemoveAt(3); // B, C, D, F words.RemoveRange(0, 2); // D, F words.RemoveAll(s => s.StartsWith("D")); // F words.ForEach( delegate (string prime) { Console.WriteLine(prime); } ); Result : F | cs |
위 예제는 리스트에서 제공하는 기본 함수를 응용한 예시입니다.
아래는 리스트 삭제할 때 람다 문법 사용하는 예제입니다.
[c# list 리스트 값 변경 삭제]
C# List RemoveAll 두번째. RemoveAll(), ForEach()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | List<int> candidates = new List<int>(); for (int i = 2; i <= 20; i++) { candidates.Add(i); } for (int factor = 2; factor <= 10; factor++) { candidates.RemoveAll(delegate (int x) { return x > factor && x % factor == 0; } ); } candidates.ForEach(delegate (int prime) { Console.WriteLine(prime); } ); Result : 2 3 5 7 11 13 17 19 | cs |
이정도 방법만 안다면 상황에 맞는 효율적 수단을 사용할 수 있습니다.
특히, C# List()에서 기본 제공하는 ForEach와 함께 사용할 수 있는 람다는 꼭 알아 두셔야 합니다.
관련 글
▷ C# List GetRange 부분 복사, 원하는 영역만 Copy (리스트 to array)
▷ C++ List index 랜덤 접근, lterator advance next 응용 (비추천)
▷ C# Json 파싱 예제 - List에 클래스 객체 저장 (json to list object)
ⓒ written by vicddory
반응형