C#에서 List의 특정 위치에 요소를 삽입하려면 Insert() 메서드를 사용합니다. 이 메서드는 삽입할 위치(인덱스)와 요소를 함께 지정할 수 있어 매우 유용합니다.
기본 예제 리스트 만들기
먼저 문자열 요소를 담는 리스트를 생성해 보겠습니다.
List<string> val = new List<string>();
// 문자열 리스트 생성
val.Add("water");
val.Add("food");
val.Add("air");Insert() 메서드로 요소 삽입하기
Insert() 메서드를 사용하면 원하는 위치에 새로운 요소를 추가할 수 있습니다. 첫 번째 인수는 삽입할 인덱스(0부터 시작), 두 번째 인수는 삽입할 값입니다. 아래 코드는 1번째 위치(두 번째 자리)에 "shelter"를 삽입하는 예입니다.
val.Insert(1, "shelter");
인덱스가 1이므로 기존 요소들은 한 칸씩 뒤로 밀려나고, "shelter"가 두 번째 위치에 들어가게 됩니다.
전체 코드 예제
using System;
using System.Collections.Generic;
public class Demo {
public static void Main() {
List<string> val = new List<string>();
// 문자열 리스트 생성
val.Add("water");
val.Add("food");
val.Add("air");
Console.WriteLine("초기 리스트:");
// 초기 리스트 출력
foreach (string res in val) {
Console.WriteLine(res);
}
// 두 번째 위치에 요소 삽입
val.Insert(1, "shelter");
Console.WriteLine("요소 삽입 후 리스트:");
foreach (string res in val) {
Console.WriteLine(res);
}
}
}실행 결과
초기 리스트: water food air 요소 삽입 후 리스트: water shelter food air
정리
Insert(int index, T item) 메서드는 지정한 인덱스 위치에 요소를 삽입하고, 기존 요소들을 자동으로 뒤로 이동시킵니다. 반면 Add() 메서드는 항상 리스트의 맨 끝에 요소를 추가한다는 점에서 차이가 있습니다. 특정 위치에 데이터를 넣어야 하는 상황이라면 Insert()를 활용하는 것이 가장 간단하고 효율적인 방법입니다.