C# ArrayList의 IsFixedSize 속성이란?
ArrayList 클래스의 IsFixedSize 속성은 해당 ArrayList가 고정된 크기를 가지고 있는지 여부를 나타내는 값을 가져오는 데 사용됩니다. 이 속성은 bool 타입을 반환하며, 리스트의 크기가 고정되어 있으면 True, 요소를 자유롭게 추가·삭제할 수 있는 일반적인 ArrayList라면 False를 반환합니다.
new 키워드로 생성한 기본 ArrayList는 요소가 추가될 때마다 내부적으로 용량이 자동으로 늘어나는 동적 구조이기 때문에, IsFixedSize 값은 항상 False입니다.
IsFixedSize 속성 사용 예제
다음은 IsFixedSize 속성의 사용법을 보여주는 예제 코드입니다.
using System;
using System.Collections;
class Demo {
public static void Main() {
ArrayList arrList = new ArrayList();
Console.WriteLine("Adding some numbers:");
arrList.Add(45);
arrList.Add(78);
Console.WriteLine(arrList.Count);
Console.WriteLine("myArrayList.IsFixedSize = " + arrList.IsFixedSize);
}
}
실행 결과
Adding some numbers:
2
myArrayList.IsFixedSize = False
코드 설명
위 코드에서는 먼저 다음과 같이 ArrayList 객체를 생성했습니다.
ArrayList arrList = new ArrayList();
그런 다음 두 개의 숫자를 추가하고, 리스트에 현재 몇 개의 요소가 들어 있는지 Count 속성으로 확인했습니다. 마지막으로 다음 코드를 통해 해당 ArrayList가 고정 크기를 갖는지 여부를 출력했습니다.
Console.WriteLine("myArrayList.IsFixedSize = " + arrList.IsFixedSize);결과가 False로 출력되는 이유는, 일반적인 ArrayList는 동적으로 크기가 조절되는 컬렉션이기 때문입니다.
참고: 고정 크기 리스트 만들기
만약 고정 크기의 리스트가 필요하다면 ArrayList.FixedSize() 메서드를 사용해 기존 ArrayList를 감싸는 고정 크기 래퍼(wrapper)를 만들 수 있습니다. 고정 크기 리스트에서는 요소를 추가하거나 삭제할 수 없지만, 기존 요소의 값은 수정할 수 있습니다.