C#에서 List<T>에 저장된 모든 요소를 한 번에 제거하고 싶다면 Clear() 메서드를 사용하면 됩니다. 이 메서드는 리스트의 모든 항목을 삭제하고 Count 속성을 0으로 만들어 줍니다.
리스트 생성 및 요소 추가
먼저 정수형 리스트를 선언하고 요소를 추가해 보겠습니다.
List<int> myList = new List<int>(); myList.Add(45); myList.Add(77);
위 코드는 빈 리스트를 만든 뒤, Add() 메서드를 통해 45와 77이라는 두 개의 요소를 추가합니다.
Clear() 메서드로 리스트 비우기
리스트의 모든 요소를 제거하는 방법은 매우 간단합니다. 다음 한 줄이면 충분합니다.
myList.Clear();
Clear()가 호출되면 리스트 내부의 모든 요소가 삭제되며, 리스트 자체는 그대로 유지되므로 이후 새로운 요소를 계속 추가할 수 있습니다.
전체 예제 코드
리스트 생성, 요소 추가, Clear() 호출까지의 전체 과정을 담은 완전한 코드입니다.
using System;
using System.Collections.Generic;
public class Demo {
public static void Main() {
List<int> myList = new List<int>();
myList.Add(45);
myList.Add(77);
Console.WriteLine("요소 개수: " + myList.Count);
myList.Clear();
Console.WriteLine("Clear() 호출 후 요소 개수: " + myList.Count);
}
}실행 결과
요소 개수: 2 Clear() 호출 후 요소 개수: 0
정리
Clear()는 리스트의 모든 요소를 제거하지만, 리스트 객체 자체는 삭제되지 않습니다.- 호출 후
Count값은 0이 되며, 필요하면 다시 요소를 추가할 수 있습니다. - 내부적으로 배열을 재할당하지 않고 기존 저장 공간을 재사용하므로 효율적입니다.
리스트를 완전히 새로운 객체로 교체하고 싶다면 myList = new List<int>();처럼 재할당하는 방법도 있지만, 단순히 내용만 비우는 경우에는 Clear()를 사용하는 것이 가장 깔끔하고 권장되는 방식입니다.