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

C# StringCollection에서 지정된 인덱스에 요소 삽입하기

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() 메서드를 활용하면 컬렉션의 중간이나 원하는 어느 위치든 손쉽게 새 문자열을 추가할 수 있습니다. 삽입할 때마다 해당 인덱스 이후의 요소들이 자동으로 뒤로 이동하기 때문에, 반복문과 함께 사용하면 동적으로 데이터를 구성하는 데 매우 유용합니다.