Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# 컬렉션(Collection)에서 모든 요소 한 번에 제거하는 방법

C# 컬렉션에서 모든 요소 제거하기

C#에서 Collection<T>에 저장된 모든 요소를 한 번에 삭제하려면 Clear() 메서드를 사용하면 됩니다. 이 메서드는 컬렉션 내부의 모든 항목을 제거하며, 호출 후 Count 속성 값이 0으로 변경됩니다.

아래에서는 정수형 컬렉션과 문자열 컬렉션을 각각 사용해 Clear() 메서드의 동작 방식을 확인해 보겠습니다.

예제 1: 정수형 컬렉션의 모든 요소 제거

using System;
using System.Collections.ObjectModel;

public class Demo {
    public static void Main() {
        Collection<int> col = new Collection<int>();
        col.Add(10);
        col.Add(20);
        col.Add(30);
        col.Add(40);
        col.Add(50);
        col.Add(60);
        col.Add(70);
        col.Add(80);

        Console.WriteLine("컬렉션에 저장된 요소들...");
        foreach(int val in col) {
            Console.WriteLine(val);
        }

        Console.WriteLine("컬렉션에 70이 포함되어 있습니까? = " + col.Contains(70));
        Console.WriteLine("현재 요소 개수 = " + col.Count);

        // 모든 요소 제거
        col.Clear();

        Console.WriteLine("제거 후 요소 개수 = " + col.Count);
    }
}

출력 결과

컬렉션에 저장된 요소들...
10
20
30
40
50
60
70
80
컬렉션에 70이 포함되어 있습니까? = True
현재 요소 개수 = 8
제거 후 요소 개수 = 0

코드 설명

위 예제에서는 Add() 메서드로 정수 10부터 80까지 총 8개의 요소를 컬렉션에 추가했습니다. 이후 Contains(70)을 호출해 특정 요소의 존재 여부를 확인하고, Count 속성으로 현재 저장된 요소 개수를 출력합니다.

핵심은 col.Clear() 호출 부분입니다. 이 한 줄만으로 컬렉션의 모든 요소가 삭제되며, 실행 결과에서 볼 수 있듯이 요소 개수가 8에서 0으로 변경되었습니다.

예제 2: 문자열 컬렉션의 모든 요소 제거

이번에는 문자열(String) 타입의 컬렉션에 동일한 방법을 적용해 보겠습니다.

using System;
using System.Collections.ObjectModel;

public class Demo {
    public static void Main() {
        Collection<String> col = new Collection<String>();
        col.Add("A");
        col.Add("B");
        col.Add("C");
        col.Add("D");
        col.Add("E");

        Console.WriteLine("컬렉션에 저장된 요소들...");
        foreach(String val in col) {
            Console.WriteLine(val);
        }

        Console.WriteLine("컬렉션에 D가 포함되어 있습니까? = " + col.Contains("D"));
        Console.WriteLine("현재 요소 개수 = " + col.Count);

        // 모든 요소 제거
        col.Clear();

        Console.WriteLine("제거 후 요소 개수 = " + col.Count);
    }
}

출력 결과

컬렉션에 저장된 요소들...
A
B
C
D
E
컬렉션에 D가 포함되어 있습니까? = True
현재 요소 개수 = 5
제거 후 요소 개수 = 0

정리

  • Clear(): 컬렉션의 모든 요소를 제거하며, 반환값은 없습니다.
  • Contains(T): 지정한 요소가 컬렉션에 존재하면 true, 없으면 false를 반환합니다.
  • Count: 컬렉션에 실제로 저장된 요소의 개수를 나타냅니다.

이처럼 Collection<T> 클래스는 요소 타입에 관계없이 Clear() 메서드 하나로 전체 데이터를 손쉽게 비울 수 있어, 리스트 초기화나 재사용 시점에 매우 유용하게 활용됩니다.