Visual Basic의 Dictionary는 키-값 쌍을 저장할 수 있는 연관 컬렉션입니다. VB.NET에서는 System.Collections.Generic 네임스페이스의 Dictionary(Of TKey, TValue)를 사용합니다.
이전 버전의 Visual Basic은 문자열 또는 숫자 키만 지원하는 클래식 컬렉션(컬렉션)에 제한되었습니다. VB.NET과 .NET Framework의 출현으로 제너릭 Dictionary가 등장하여 연관 데이터를 더 안전하고 빠르게 다룰 수 있게 되었습니다.
Dictionary 사용 시 일반적인 오류는 다음과 같습니다:
Dictionary 작업 시 중요한 사항:
ContainsKey 메소드를 통해 키의 존재 여부를 확인코드 예시:
Dim dict As New Dictionary(Of String, Integer) dict("사과") = 10 ' 접근 전에 안전한 검사: If dict.ContainsKey("바나나") Then Console.WriteLine(dict("바나나")) Else Console.WriteLine("키를 찾을 수 없습니다!") End If
주요 특징:
Dictionary에서 존재하지 않는 키에 접근하려 할 때 어떤 예외가 발생하며, 이를 어떻게 피할 수 있습니까?
예외: System.Collections.Generic.KeyNotFoundException. 이 오류를 방지하기 위해 ContainsKey 메소드를 사용해야 합니다.
이미 존재하는 Dictionary 요소의 키를 변경할 수 있습니까?
불가능합니다. 추가 후 키를 변경할 수 없으며, 해당 요소를 삭제하고 다른 키로 새로 추가해야 합니다.
VB.NET에서 Dictionary와 Hashtable의 차이점은 무엇입니까?
Dictionary는 타입 안전하고(제너릭), 속도가 빠르며 값의 박싱/언박싱이 필요하지 않습니다. Hashtable은 구식이며 사용하지 않는 것이 좋습니다.
** 부정적인 사례
프로그래머가 도시별 판매 통계를 Dictionary를 통해 저장하지만, 접근하기 전에 도시 키의 존재 여부를 확인하지 않습니다. 새로운 도시의 보고서를 낼 때 KeyNotFoundException을 받습니다.
장점:
단점:
** 긍정적인 사례
같은 보고서이지만, 키에 접근할 때 항상 ContainsKey 체크를 사용하고, 키가 존재하지 않을 경우 0을 반환하거나 메시지를 출력함.
장점:
단점: