C#에서 해시 테이블(Hashtable)의 모든 키-값 쌍을 한 번에 제거하려면 Clear() 메서드를 사용하면 됩니다. 이 메서드는 해시 테이블에 저장된 모든 요소를 삭제하지만, 해시 테이블 객체 자체와 그 용량(capacity)은 그대로 유지됩니다.
해시 테이블 생성하기
먼저 다음과 같이 해시 테이블을 생성하고 몇 개의 요소를 추가해 보겠습니다.
Hashtable h = new Hashtable(); h.Add(1, "Amit"); h.Add(2, "Sachin"); h.Add(3, "Rahul");
Clear() 메서드로 해시 테이블 비우기
해시 테이블의 모든 요소를 제거하는 방법은 매우 간단합니다. 아래와 같이 Clear() 메서드를 호출하기만 하면 됩니다.
h.Clear();
이후 해시 테이블을 출력해 보면 모든 요소가 제거되었기 때문에 아무것도 표시되지 않습니다.
전체 예제 코드
using System;
using System.Collections;
public class Demo {
public static void Main() {
Hashtable h = new Hashtable();
h.Add(1, "Amit");
h.Add(2, "Sachin");
h.Add(3, "Rahul");
Console.WriteLine("키와 값 목록:");
foreach (var key in h.Keys) {
Console.WriteLine("Key = {0}, Value = {1}", key, h[key]);
}
// 모든 키-값 쌍 제거
Console.WriteLine("이제 해시 테이블의 키-값 쌍이 모두 비었습니다...");
h.Clear();
foreach (var key in h.Keys) {
Console.WriteLine("Key = {0}, Value = {1}", key, h[key]);
}
}
}실행 결과
키와 값 목록: Key = 3, Value = Rahul Key = 2, Value = Sachin Key = 1, Value = Amit 이제 해시 테이블의 키-값 쌍이 모두 비었습니다...
참고 사항
Clear()메서드 호출 후Count속성 값은 0이 됩니다.- 모든 요소가 제거되더라도 해시 테이블의 용량은 변경되지 않습니다.
- 비워진 이후에도 동일한 해시 테이블 객체에 새로운 키-값 쌍을 계속 추가할 수 있습니다.