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

C#에서 IList 인터페이스란? 주요 속성과 메서드 완벽 정리

IList 인터페이스는 인덱스를 통해 각 요소에 개별적으로 접근할 수 있는 비제네릭(non-generic) 객체 컬렉션을 나타냅니다. C#에서는 ArrayList와 같은 컬렉션 클래스가 IList를 구현하며, 이를 통해 요소 추가·삭제·검색 같은 기본적인 컬렉션 작업을 표준화된 방식으로 처리할 수 있습니다.

IList 인터페이스의 주요 속성

IList 인터페이스가 제공하는 대표적인 속성은 다음과 같습니다.

번호속성 이름 및 설명
1Count
ICollection에 포함된 요소의 총 개수를 가져옵니다.
2IsFixedSize
IList가 고정된 크기를 가지는지 여부를 나타내는 값을 가져옵니다.
3IsReadOnly
IList가 읽기 전용인지 여부를 나타내는 값을 가져옵니다.
4IsSynchronized
ICollection에 대한 접근이 스레드로부터 동기화되어 있는지 여부를 나타내는 값을 가져옵니다.
5Item[Int32]
지정한 인덱스 위치의 요소를 가져오거나 설정합니다.

IList 인터페이스의 주요 메서드

IList 인터페이스에서 사용할 수 있는 핵심 메서드는 다음과 같습니다.

번호메서드 이름 및 설명
1Add(Object)
IList에 새로운 항목을 추가합니다.
2Clear()
IList에서 모든 항목을 제거합니다.
3Contains(Object)
목록에 특정 값이 포함되어 있는지 여부를 확인합니다.
4GetEnumerator()
컬렉션을 반복(iterate)하는 데 사용되는 열거자(Enumerator)를 반환합니다.
5IndexOf(Object)
IList에서 지정된 항목이 위치한 인덱스를 반환합니다.
6Remove(Object)
특정 개체가 처음으로 나타나는 위치의 항목을 제거합니다.

간단한 사용 예제

다음은 IList를 활용해 요소를 추가하고 조회하는 기본적인 예제입니다.

using System;
using System.Collections;

class Program {
    static void Main() {
        IList list = new ArrayList();
        list.Add(100);
        list.Add(200);
        list.Add(300);

        Console.WriteLine("요소 개수: " + list.Count);
        Console.WriteLine("200의 인덱스: " + list.IndexOf(200));

        list.Remove(200);
        Console.WriteLine("삭제 후 요소 개수: " + list.Count);
    }
}

이처럼 IList는 인덱스 기반 접근이 필요한 컬렉션을 다룰 때 유용하게 사용되며, 제네릭 버전인 IList<T>를 함께 활용하면 타입 안전성까지 확보할 수 있습니다.