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] 사용 방법
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (602) N
      • 상품 추천 (110) N
      • MongoDB (4)
      • 하드웨어 (9)
      • 일기장 (4)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • 파이썬 (12)
        • Basic (41)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Linux (4)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (50)
        • 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)
  • 인기 글

  • 태그

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

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

티스토리툴바