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

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

C#에서 Hashtable의 IsFixedSize 속성이란?

C#의 Hashtable 클래스는 IsFixedSize 속성을 제공합니다. 이 속성은 해당 Hashtable이 고정 크기(fixed size)를 갖는지 여부를 나타내는 bool 값을 반환합니다.

  • Hashtable의 크기가 고정되어 있으면 true를 반환합니다.
  • 요소를 자유롭게 추가하거나 제거할 수 있는 일반적인 Hashtable이라면 false를 반환합니다.

일반적으로 new Hashtable()로 생성한 컬렉션은 크기가 동적으로 조절되므로, 이 속성은 항상 false를 반환하게 됩니다. 반면 읽기 전용 래퍼(wrapper) 등으로 감싼 경우에는 true가 반환될 수 있습니다.

IsFixedSize 속성 사용 예제

다음 예제는 Hashtable에 요소를 추가한 후, IsFixedSize 속성으로 고정 크기 여부를 확인하는 방법을 보여줍니다.

using System;
using System.Collections;

namespace Demo {
    class Program {
        static void Main(string[] args) {
            // Hashtable 컬렉션 생성
            Hashtable ht = new Hashtable();

            // 요소 추가
            ht.Add("D01", "Finance");
            ht.Add("D02", "HR");
            ht.Add("D03", "Operations");

            // 고정 크기 여부 확인
            Console.WriteLine("IsFixedSize = " + ht.IsFixedSize);

            Console.ReadKey();
        }
    }
}

실행 결과

IsFixedSize = False

코드 설명

먼저 다음과 같이 Hashtable 컬렉션을 생성합니다.

Hashtable ht = new Hashtable();

그런 다음 Add() 메서드를 사용해 세 개의 부서 정보를 키-값 쌍으로 추가했습니다. 마지막으로 IsFixedSize 속성을 호출하여 이 컬렉션이 고정 크기를 갖는지 확인합니다.

ht.IsFixedSize

생성된 Hashtable은 동적으로 요소를 추가·삭제할 수 있으므로, 실행 결과는 False가 출력됩니다. 즉, 이 Hashtable은 고정된 크기를 갖지 않으며 필요에 따라 계속 확장될 수 있습니다.

정리

IsFixedSize 속성은 컬렉션의 용량 변경 가능 여부를 빠르게 확인할 때 유용합니다. 특히 외부에서 전달받은 Hashtable 객체가 수정 가능한 상태인지 검증해야 하는 상황에서 활용하면 코드의 안정성을 높일 수 있습니다.