C#에서 StringCollection에 지정된 문자열이 포함되어 있는지 확인하려면 Contains() 메서드를 사용합니다. 이 메서드는 해당 문자열이 컬렉션 내에 존재하면 true, 존재하지 않으면 false를 반환합니다.
예제 1: 숫자 문자열 배열로 확인하기
다음 예제는 문자열 배열을 StringCollection에 추가한 후, 특정 문자열("800")이 존재하는지 확인하는 코드입니다.
using System;
using System.Collections.Specialized;
public class Demo {
public static void Main() {
StringCollection stringCol = new StringCollection();
String[] arr = new String[] { "100", "200", "300", "400", "500" };
Console.WriteLine("배열 요소...");
foreach (string res in arr) {
Console.WriteLine(res);
}
stringCol.AddRange(arr);
Console.WriteLine("지정된 문자열이 StringCollection에 있습니까? = " + stringCol.Contains("800"));
}
}출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
배열 요소... 100 200 300 400 500 지정된 문자열이 StringCollection에 있습니까? = False
컬렉션에는 100부터 500까지의 값만 저장되어 있으므로, "800"은 존재하지 않아 False가 반환됩니다.
예제 2: 이름 문자열 배열로 확인하기
이번에는 여러 개의 이름으로 구성된 문자열 배열을 사용하여 특정 이름("Katie")의 존재 여부를 확인해 보겠습니다.
using System;
using System.Collections.Specialized;
public class Demo {
public static void Main() {
StringCollection stringCol = new StringCollection();
String[] arr = new String[] { "John", "Tim", "Kevin", "Bradman", "Katie", "Tom", "Nathan" };
Console.WriteLine("문자열 배열 요소...");
foreach (string res in arr) {
Console.WriteLine(res);
}
stringCol.AddRange(arr);
Console.WriteLine("지정된 문자열이 StringCollection에 있습니까? = " + stringCol.Contains("Katie"));
}
}출력 결과
실행 결과는 다음과 같습니다.
문자열 배열 요소... John Tim Kevin Bradman Katie Tom Nathan 지정된 문자열이 StringCollection에 있습니까? = True
"Katie"는 배열에 포함되어 있으므로 AddRange()로 추가된 후 Contains() 메서드가 True를 반환합니다.
정리
StringCollection.Contains(string) 메서드는 대소문자를 구분하여 문자열의 존재 여부를 검사합니다. 따라서 정확히 일치하는 문자열만 찾을 수 있으며, 필요에 따라 대소문자를 무시하고 비교하려면 별도의 처리(예: 모든 요소를 소문자로 변환 후 비교)가 필요합니다. 또한 AddRange() 메서드를 사용하면 문자열 배열 전체를 한 번에 컬렉션에 추가할 수 있어 편리합니다.