티스토리 뷰

목차

    반응형

    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(02); // D, F
    words.RemoveAll(s => s.StartsWith("D")); // F
     
    words.ForEach(
        delegate (string prime)
        {
            Console.WriteLine(prime);
        }
    );
     
    Result :
    F
    cs


    위 예제는 리스트에서 제공하는 기본 함수를 응용한 예시입니다.


    아래는 리스트 삭제할 때 람다 문법 사용하는 예제입니다.


    C# List RemoveAll 기능, 항목 삭제 편리하게 (람다 응용)[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)



    출처 : C# RemoveAll List Method

    ⓒ written by vicddory

    반응형