C# Dictionary ContainsKey() vs TryGetValue()

2023. 3. 28. 14:09·C#
반응형

소개

C#에서 Dictionary는 키-값 쌍을 저장하는 일반적으로 사용되는 컬렉션입니다. Dictionary 작업 중에는 특정 키가 있는지 확인하거나 키와 연결된 값을 검색해야 할 수 있습니다. 이 블로그 포스트에서는 이러한 목표를 달성하는 데 사용되는 두 가지 방법을 살펴보겠습니다


ContainsKey() 메서드

ContainsKey() 메서드는 Dictionary에 지정된 키가 있는지 확인하는 데 사용됩니다. 이 메서드는 키가 Dictionary에 있는지 여부를 나타내는 부울 값이 반환됩니다.

Dictionary<string, int> myDictionary = new Dictionary<string, int>();

// Dictionary에 일부 키-값 쌍 추가
myDictionary.Add("apple", 1);
myDictionary.Add("banana", 2);
myDictionary.Add("orange", 3);

// Dictionary에 키가 있는지 확인
if (myDictionary.ContainsKey("apple"))
{
    Console.WriteLine("Dictionary에 'apple' 키가 있습니다.");
}
else
{
    Console.WriteLine("Dictionary에 'apple' 키가 없습니다.");
}

위의 예에서는 Dictionary를 생성하고 일부 키-값 쌍을 추가합니다. 그런 다음 ContainsKey()를 사용하여 "apple" 키가 Dictionary에 있는지 확인합니다.


TryGetValue() 메서드

TryGetValue() 메서드는 Dictionary에서 지정된 키와 연결된 값을 검색하는 데 사용됩니다. 이 메서드는 키가 Dictionary에 있는지 여부를 나타내는 부울 값을 반환하고, 키와 연결된 값이 있으면 출력합니다.

Dictionary<string, int> myDictionary = new Dictionary<string, int>();

// Dictionary에 일부 키-값 쌍 추가
myDictionary.Add("apple", 1);
myDictionary.Add("banana", 2);
myDictionary.Add("orange", 3);

// 키와 연결된 값을 검색
if (myDictionary.TryGetValue("apple", out int value))
{
    Console.WriteLine("'apple' 키의 값은 {0} 입니다.", value);
}
else
{
    Console.WriteLine("Dictionary에서 'apple' 키를 찾을 수 없습니다.");
}

위의 예에서는 Dictionary를 생성하고 일부 키-값 쌍을 추가합니다. 그런 다음 TryGetValue()를 사용하여 "apple" 키와 연결된 값을 검색합니다. 키가 존재하는 경우 메서드는 키와 연결된 값을 출력합니다.


어떤 방법을 사용해야 할까요?

ContainsKey()와 TryGetValue() 모두 비슷한 목표를 달성하는 데 사용할 수 있지만, 일부 차이점이 있습니다.

  • ContainsKey()는 Dictionary에 키가 있는지 여부를 나타내는 부울 값을 반환합니다. 그러나 키와 연결된 값을 출력하지 않습니다.
  • TryGetValue()는 Dictionary에 키가 있는지 여부를 나타내는 부울 값을 반환하고, 키와 연결된 값을 출력합니다.

따라서 Dictionary에 키가 있는지만 확인하려면 ContainsKey()를 사용하고, 키와 연결된 값을 검색해야하는 경우 TryGetValue()를 사용하면 됩니다.


결론

이 블로그 포스트에서는 C#에서 Dictionary를 사용하는 두 가지 방법인 ContainsKey()와 TryGetValue()를 살펴보았습니다. 두 메서드 모두 비슷한 목표를 달성하는 데 사용할 수 있지만, 기능에 일부 차이점이 있습니다. 이러한 차이점을 이해하여 특정 사용 사례에 적합한 방법을 선택할 수 있습니다.

저작자표시 비영리 변경금지 (새창열림)

'C#' 카테고리의 다른 글

C# 객체지향 다형성 : new, virtual, override, sealed  (0) 2023.03.30
C# 정규표현식  (0) 2023.03.29
C# Delegate : 대리자  (0) 2023.03.28
C# 람다 식 사용  (0) 2023.03.14
C# 딕셔너리 [Dictionary] 사용 방법  (0) 2023.03.13
'C#' 카테고리의 다른 글
  • C# 정규표현식
  • C# Delegate : 대리자
  • C# 람다 식 사용
  • C# 딕셔너리 [Dictionary] 사용 방법
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (730) N
      • 스마트팜 (1)
      • 상품 추천 (223)
      • DataBase (0)
        • MongoDB (4)
        • PostgreSQL (0)
      • 하드웨어 (19) N
      • 일기장 (4)
      • 파이썬 (131) N
        • Basic (42) N
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • Linux (5) N
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (51)
        • CSS (10)
      • Git (11)
      • SQL (5)
      • Flutter (10)
        • Tip (1)
      • System (1)
      • BaekJoon (6)
      • Portfolio (2)
      • MacOS (1)
      • 유틸리티 (1)
      • 서비스 (6)
      • 자동화 (3)
      • Hobby (10)
        • 물생활 (10)
        • 식집사 (0)
  • 인기 글

  • 태그

    codingtips
    긴유통기한우유
    스마트스토어리뷰
    C#
    유니티
    ipcamera
    카페24리뷰이관
    상품 리뷰 크롤링
    Python
    스크립트 실행 순서
    리뷰관리
    카페24리뷰
    rtsp
    programming101
    appdevelopment
    cv2
    라떼우유
    codingcommunity
    list
    파이썬
    programmerlife
    스크립트 실행
    셀레니움
    믈레코비타멸균우유
    쇼핑몰리뷰
    리스트
    리뷰이관
    unity
    learntocode
    devlife
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코샵
C# Dictionary ContainsKey() vs TryGetValue()
상단으로

티스토리툴바