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

C# ContainsKey() 메서드로 Hashtable 키 존재 여부 확인하기

C#에서 ContainsKey() 메서드는 Hashtable 컬렉션 안에 특정 키가 존재하는지 여부를 확인할 때 사용하는 대표적인 메서드입니다. 키가 존재하면 True를, 존재하지 않으면 False를 반환하므로, 데이터를 조회하기 전에 유효성을 검사하는 용도로 매우 유용하게 활용됩니다.

Hashtable 컬렉션 준비하기

먼저 Hashtable 컬렉션을 생성하고 몇 가지 요소를 추가해 보겠습니다.

Hashtable h = new Hashtable();
h.Add(1, "Sam");
h.Add(2, "Jack");
h.Add(3, "Andy");
h.Add(4, "Katie");
h.Add(5, "Beth");
h.Add(6, "Benjamin");

ContainsKey() 메서드 사용 방법

Hashtable에 특정 키가 있는지 확인하려면 ContainsKey() 메서드에 찾고자 하는 키를 인수로 전달하면 됩니다. 예를 들어 키 3이 존재하는지 확인하는 코드는 다음과 같습니다.

h.ContainsKey(3);

키 3이 Hashtable에 있으므로 이 코드는 True를 반환합니다.

전체 예제 코드

using System;
using System.Collections;
public class Demo {
    public static void Main() {
        Hashtable h = new Hashtable();
        h.Add(1, "Sam");
        h.Add(2, "Jack");
        h.Add(3, "Andy");
        h.Add(4, "Katie");
        h.Add(5, "Beth");
        h.Add(6, "Benjamin");
        Console.WriteLine("Keys and Values list:");
        foreach (var key in h.Keys ) {
            Console.WriteLine("Key = {0}, Value = {1}",key , h[key]);
        }
        Console.WriteLine("Does the specified key exist? "+h.ContainsKey(3));
    }
}

실행 결과

Keys and Values list:
Key = 6, Value = Benjamin
Key = 5, Value = Beth
Key = 4, Value = Katie
Key = 3, Value = Andy
Key = 2, Value = Jack
Key = 1, Value = Sam
Does the specified key exist? True

정리

위 실행 결과에서 볼 수 있듯이, ContainsKey(3)은 Hashtable에 키 3이 존재하기 때문에 True를 반환했습니다. 참고로 Hashtable은 내부적으로 해시 기반 구조를 사용하기 때문에 키 조회 속도가 매우 빠르며, 존재하지 않는 키에 접근할 때 발생할 수 있는 오류를 사전에 방지하는 안전장치로도 활용할 수 있습니다. 또한 값의 존재 여부를 확인하고 싶다면 ContainsValue() 메서드를 사용하면 됩니다.