Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# Hashtable 클래스의 Values 속성 완벽 가이드

C# Hashtable의 Values 속성이란?

Values 속성은 Hashtable에 저장된 모든 값(value)들을 담고 있는 ICollection을 반환합니다. 이 속성을 활용하면 키(key)에 상관없이 해시테이블에 들어 있는 데이터 값만 간편하게 순회하며 조회할 수 있습니다.

단, Hashtable은 내부적으로 해시 알고리즘을 기반으로 요소를 저장하므로, Values 속성으로 가져온 값들의 순서가 항목을 추가한 순서와 일치하지 않을 수 있다는 점에 유의해야 합니다.

Hashtable 선언하기

먼저 Hashtable 컬렉션을 선언합니다.

Hashtable ht = new Hashtable();

키와 값 추가하기

Add() 메서드를 사용해 키와 값을 한 쌍으로 추가합니다.

ht.Add("One", "Henry");
ht.Add("Two", "Kevin");
ht.Add("Three", "David");

예제: Hashtable의 값 출력하기

Values 속성을 활용해 Hashtable에 저장된 값들을 화면에 출력하는 전체 코드는 다음과 같습니다.

코드

using System;
using System.Collections;

namespace Demo {
   class Program {
      static void Main(string[] args) {
         Hashtable ht = new Hashtable();

         ht.Add("One", "Henry");
         ht.Add("Two", "Kevin");
         ht.Add("Three", "David");

         // 값 출력
         foreach (string value in ht.Values) {
            Console.WriteLine(value);
         }

         Console.ReadKey();
      }
   }
}

실행 결과

David
Henry
Kevin

출력 결과를 보면 값들이 추가한 순서(One → Two → Three)가 아닌 다른 순서로 나타나는 것을 확인할 수 있습니다. 앞서 언급했듯이 Hashtable이 해시 기반으로 요소를 관리하기 때문입니다.

추가 팁

값이 아닌 키 목록이 필요하다면 Values 대신 Keys 속성을 사용하면 됩니다. 또한 최신 .NET 환경에서는 타입 안정성이 보장되는 제네릭 컬렉션인 Dictionary<TKey, TValue> 사용을 권장합니다.