본문 바로가기
CSharp/CSharp 문법

Dictionary<TKey, TValue>에서 안전하게 키 검색하기 with TryGetValue

by MonoSoft 2025. 6. 18.
728x90
반응형

Dictionary<TKey, TValue>에서 안전하게 키 검색하기 with TryGetValue

 

Dictionary에서 키가 존재하는지 먼저 확인하고 값을 가져오는 
전통적인 방법은 ContainsKey()로 확인 후 인덱서로 접근하는 것입니다.
그러나 TryGetValue()를 사용하면 한 번의 호출로 키 존재 여부와 
값을 동시에 처리할 수 있어 더 효율적입니다.


using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        Dictionary<string, int> scores = new Dictionary<string, int>
        {
            { "Alice", 95 },
            { "Bob", 87 }
        };

        if (scores.TryGetValue("Bob", out int score))
        {
            Console.WriteLine($"Bob의 점수는 {score}점입니다.");
        }
        else
        {
            Console.WriteLine("해당 사용자를 찾을 수 없습니다.");
        }
    }
}

출력 결과
Bob의 점수는 87점입니다.

TryGetValue()는 키가 존재하지 않을 경우에도 예외 없이 안전하게 처리됩니다.

성능 면에서도 ContainsKey() + 인덱서 접근보다 효율적입니다.

out 변수에 값을 직접 할당하므로 코드가 간결해지고 가독성이 향상됩니다.

.NET 7부터는 TryAdd()와 함께 TryGetValue()를 자주 쓰면 동시성 문제도 줄일 수 있습니다.

 


#CSharp딕셔너리사용법 #TryGetValue활용 #Dictionary키조회 #DotNet컬렉션팁 
#CleanCodeDictionary #딕셔너리예외처리 #키존재확인 #out매개변수활용 
#TryGetValue예제 #딕셔너리성능개선

 

 

 

 

 

728x90
반응형

댓글