C#의 StringCollection 클래스에서는 Insert() 메서드를 사용하여 컬렉션 내 원하는 위치에 새 문자열을 삽입할 수 있습니다. 지정한 인덱스에 새 요소가 추가되고, 기존 요소들은 자동으로 한 칸씩 뒤로 밀려납니다.
Insert() 메서드의 기본 구조
Insert(int index, string value) 메서드는 두 개의 매개변수를 받습니다.
- index: 요소를 삽입할 위치 (0부터 시작하는 인덱스)
- value: 삽입할 문자열 값
인덱스는 0부터 시작하므로 맨 앞에 삽입하려면 0을 지정해야 합니다. 만약 유효 범위를 벗어난 인덱스를 전달하면 ArgumentOutOfRangeException 예외가 발생하니 주의해야 합니다.
예제 1: 단일 요소 삽입하기
다음은 세 개의 문자열이 담긴 StringCollection에서 인덱스 2 위치에 새 요소를 삽입하는 예제입니다.
using System;
using System.Collections.Specialized;
public class Demo {
public static void Main(){
StringCollection strCol = new StringCollection();
strCol.Add("Accessories");
strCol.Add("Books");
strCol.Add("Electronics");
Console.WriteLine("StringCollection 요소 목록...");
foreach (string res in strCol){
Console.WriteLine(res);
}
// 인덱스 2 위치에 "Headphone" 삽입
strCol.Insert(2, "Headphone");
Console.WriteLine("StringCollection 요소 목록... 업데이트 후");
foreach (string res in strCol){
Console.WriteLine(res);
}
}
}
출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
StringCollection 요소 목록... Accessories Books Electronics StringCollection 요소 목록... 업데이트 후 Accessories Books Headphone Electronics
실행 결과를 보면 처음에는 Accessories, Books, Electronics 순서로 저장되어 있었지만, 인덱스 2에 Headphone이 삽입되면서 Electronics가 한 칸 뒤로 밀려난 것을 확인할 수 있습니다.
예제 2: 여러 요소를 연속해서 삽입하기
이번에는 여러 개의 요소를 서로 다른 인덱스에 차례대로 삽입하는 예제를 살펴보겠습니다.
using System;
using System.Collections.Specialized;
public class Demo {
public static void Main(){
StringCollection strCol = new StringCollection();
strCol.Add("Laptop");
strCol.Add("Desktop");
strCol.Add("Tablet");
strCol.Add("Speakers");
Console.WriteLine("StringCollection 요소 목록...");
foreach (string res in strCol){
Console.WriteLine(res);
}
strCol.Insert(2, "Headphone");
strCol.Insert(3, "Alienware");
Console.WriteLine("StringCollection 요소 목록... 업데이트 후");
foreach (string res in strCol){
Console.WriteLine(res);
}
strCol.Insert(4, "E-Book Reader");
strCol.Insert(5, "Monitor");
strCol.Insert(6, "HDD");
strCol.Insert(7, "SSD");
Console.WriteLine("StringCollection 요소 목록... 최종 업데이트 후");
foreach (string res in strCol){
Console.WriteLine(res);
}
}
}
출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
StringCollection 요소 목록... Laptop Desktop Tablet Speakers StringCollection 요소 목록... 업데이트 후 Laptop Desktop Headphone Alienware Tablet Speakers StringCollection 요소 목록... 최종 업데이트 후 Laptop Desktop Headphone Alienware E-Book Reader Monitor HDD SSD Tablet Speakers
정리
StringCollection의 Insert() 메서드를 활용하면 컬렉션의 중간이나 원하는 어느 위치든 손쉽게 새 문자열을 추가할 수 있습니다. 삽입할 때마다 해당 인덱스 이후의 요소들이 자동으로 뒤로 이동하기 때문에, 반복문과 함께 사용하면 동적으로 데이터를 구성하는 데 매우 유용합니다.