C#에서 RemoveAt() 메서드는 리스트(List)에서 지정한 인덱스 위치에 있는 요소를 삭제하는 데 사용됩니다. 인덱스는 0부터 시작하므로, 세 번째 위치의 요소를 삭제하려면 인덱스 2를 전달해야 합니다.
리스트에 요소 추가하기
먼저 삭제 작업을 테스트할 리스트에 요소들을 추가해 보겠습니다.
var subjects = new List<string>();
subjects.Add("Physics");
subjects.Add("Chemistry");
subjects.Add("Biology");
subjects.Add("Science");위 코드는 Physics, Chemistry, Biology, Science 네 개의 과목을 리스트에 순서대로 저장합니다.
RemoveAt()으로 요소 삭제하기
요소를 삭제하려면 제거하고 싶은 위치의 인덱스를 RemoveAt() 메서드에 전달하면 됩니다. 예를 들어, 세 번째 위치(인덱스 2)에 있는 "Biology"를 삭제하려면 다음과 같이 작성합니다.
subjects.RemoveAt(2);
삭제가 실행되면 해당 요소가 제거되고, 뒤에 있던 요소들이 자동으로 앞으로 이동하여 인덱스가 다시 정렬됩니다.
전체 예제 코드
아래는 RemoveAt() 메서드의 동작을 확인할 수 있는 완전한 코드입니다.
using System;
using System.Collections.Generic;
public class Demo {
public static void Main(string[] args) {
var subjects = new List<string>();
subjects.Add("Physics");
subjects.Add("Chemistry");
subjects.Add("Biology");
subjects.Add("Science");
Console.WriteLine("ELEMENTS:");
foreach (var sub in subjects) {
Console.WriteLine(sub);
}
// 세 번째 위치(인덱스 2)의 요소 삭제
subjects.RemoveAt(2);
Console.WriteLine("After removing an element:");
foreach (var sub in subjects) {
Console.WriteLine(sub);
}
}
}실행 결과
ELEMENTS: Physics Chemistry Biology Science After removing an element: Physics Chemistry Science
주의 사항
존재하지 않는 인덱스를 전달하면 ArgumentOutOfRangeException 예외가 발생합니다. 따라서 RemoveAt()을 호출하기 전에 Count 속성으로 리스트 크기를 확인하거나, 유효한 범위 내의 인덱스인지 반드시 검증하는 것이 안전합니다.