소개
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 |