C#에서 Hashtable 컬렉션에 특정 키(key)가 존재하는지 확인해야 할 때가 있습니다. 이럴 때 Contains() 메서드를 사용하면 간단하게 키의 존재 여부를 확인할 수 있습니다.
Hashtable 컬렉션 설정하기
먼저 Add() 메서드를 사용해 Hashtable에 키와 값 쌍을 추가합니다.
Hashtable h = new Hashtable(); h.Add(1, "Jack"); h.Add(2, "Henry"); h.Add(3, "Ben"); h.Add(4, "Chris");
Contains() 메서드로 키 확인하기
특정 키가 Hashtable에 있는지 확인하려면 Contains() 메서드를 호출하고 찾고자 하는 키를 인수로 전달하면 됩니다. 아래 예시에서는 키 3이 존재하는지 확인합니다.
h.Contains(3);
키가 존재하면 true, 존재하지 않으면 false를 반환합니다.
전체 예제 코드
using System;
using System.Collections;
public class Demo {
public static void Main() {
Hashtable h = new Hashtable();
h.Add(1, "Jack");
h.Add(2, "Henry");
h.Add(3, "Ben");
h.Add(4, "Chris");
Console.WriteLine("Keys and Values list:");
foreach (var key in h.Keys) {
Console.WriteLine("Key = {0}, Value = {1}", key, h[key]);
}
Console.WriteLine("Key 3 exists? " + h.Contains(3));
}
}실행 결과
Keys and Values list: Key = 4, Value = Chris Key = 3, Value = Ben Key = 2, Value = Henry Key = 1, Value = Jack Key 3 exists? True
참고 사항
Hashtable은 내부적으로 해시 기반으로 데이터를 저장하기 때문에 위 실행 결과처럼 키가 입력한 순서대로 정렬되어 출력되지 않습니다.
또한 C#에서는 Contains() 외에 ContainsKey() 메서드로도 동일하게 키의 존재 여부를 확인할 수 있으며, 값(value)의 존재 여부를 확인할 때는 ContainsValue() 메서드를 사용하면 됩니다.