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() 메서드 하나로 전체 데이터를 손쉽게 비울 수 있어, 리스트 초기화나 재사용 시점에 매우 유용하게 활용됩니다.