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

C# StringCollection에서 지정된 인덱스의 요소를 가져오고 설정하는 방법

StringCollection은 문자열만 저장하도록 특화된 .NET 컬렉션 클래스로, System.Collections.Specialized 네임스페이스에 포함되어 있습니다. 이 컬렉션은 인덱서(indexer)를 제공하기 때문에 배열처럼 대괄호([]) 연산자를 사용해 특정 인덱스의 요소를 읽거나 수정할 수 있습니다.

인덱스는 0부터 시작한다는 점에 유의하세요. 즉, 첫 번째 요소의 인덱스는 0이며, 다섯 번째 위치의 요소를 가리키려면 인덱스 4가 아니라 5번째 항목이라는 표현과 함께 정확한 위치를 계산해야 합니다.

예제 1: 지정된 인덱스의 요소 가져오기

다음 예제에서는 StringCollection을 생성하고 문자열 배열을 추가한 뒤, 인덱서를 사용하여 5번째 인덱스의 요소를 조회합니다.

using System;
using System.Collections.Specialized;

public class Demo {
   public static void Main() {
      StringCollection strCol = new StringCollection();
      String[] strArr = new String[] { "A", "B", "C", "D", "E", "F", "G", "H" };

      Console.WriteLine("StringCollection 요소...");
      foreach (string str in strArr) {
         Console.WriteLine(str);
      }

      strCol.AddRange(strArr);

      Console.WriteLine("5번째 인덱스의 요소 = " + strCol[5]);
      Console.WriteLine("StringCollection에 저장된 문자열 개수 = " + strCol.Count);
   }
}

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

StringCollection 요소...
A
B
C
D
E
F
G
H
5번째 인덱스의 요소 = F
StringCollection에 저장된 문자열 개수 = 8

인덱스 5에 해당하는 값이 F인 것을 확인할 수 있습니다. 또한 Count 속성을 통해 컬렉션에 현재 저장된 총 요소 수(8개)를 확인했습니다.

예제 2: 지정된 인덱스의 요소 설정(수정)하기

인덱서는 값을 읽는 것뿐만 아니라 새로운 값으로 교체하는 데에도 사용할 수 있습니다. 아래 예제에서는 5번째 인덱스의 기존 요소를 조회한 후, 해당 위치의 값을 K로 변경합니다.

using System;
using System.Collections.Specialized;

public class Demo {
   public static void Main() {
      StringCollection strCol = new StringCollection();
      String[] strArr = new String[] { "A", "B", "C", "D", "E", "F", "G", "H" };

      Console.WriteLine("StringCollection 요소...");
      foreach (string str in strArr) {
         Console.WriteLine(str);
      }

      strCol.AddRange(strArr);

      Console.WriteLine("5번째 인덱스의 요소 = " + strCol[5]);

      // 인덱서를 사용해 요소 수정
      strCol[5] = "K";

      Console.WriteLine("수정된 5번째 인덱스의 요소 = " + strCol[5]);
   }
}

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

StringCollection 요소...
A
B
C
D
E
F
G
H
5번째 인덱스의 요소 = F
수정된 5번째 인덱스의 요소 = K

핵심 정리

  • 요소 읽기: strCol[index] 형태로 인덱서를 사용하면 지정된 위치의 문자열을 반환받습니다.
  • 요소 수정: strCol[index] = value; 처럼 대입 연산자를 사용하면 해당 위치의 값이 새 문자열로 교체됩니다.
  • 주의 사항: 유효 범위를 벗어난 인덱스에 접근하면 ArgumentOutOfRangeException이 발생하므로, 필요하다면 Count 속성으로 범위를 먼저 확인하는 것이 안전합니다.