C#에서 문자열 배열에 포함된 특정 단어의 위치(인덱스)를 찾아야 할 때가 있습니다. 이럴 때 Array.IndexOf() 메서드를 사용하면 간단하게 해결할 수 있습니다. 이 글에서는 실제 예제 코드와 함께 그 사용법을 자세히 알아보겠습니다.
1. 배열 선언 및 초기화
먼저 찾고자 하는 단어들이 들어 있는 문자열 배열을 선언하고 초기화합니다.
string[] str = new string[] {
"Cat",
"Mat",
"Rat"
};2. IndexOf() 메서드로 단어의 인덱스 찾기
배열이 준비되었다면 Array.IndexOf() 메서드를 호출하여 원하는 단어의 인덱스를 구할 수 있습니다. 아래 코드는 배열 str에서 "Mat"이라는 단어의 위치를 찾는 예시입니다.
Array.IndexOf(str, "Mat");
IndexOf() 메서드는 첫 번째 매개변수로 검색 대상 배열을, 두 번째 매개변수로 찾으려는 요소를 전달받습니다. 해당 요소가 존재하면 0부터 시작하는 인덱스를 반환하며, 존재하지 않으면 -1을 반환합니다.
3. 전체 예제 코드
지금까지 설명한 내용을 하나의 완전한 프로그램으로 작성하면 다음과 같습니다.
using System;
public class Demo {
public static void Main() {
string[] str = new string[] {
"Cat",
"Mat",
"Rat"
};
Console.WriteLine("Our Array =");
for (int i = 0; i < str.Length; i++) {
string res = str[i];
Console.WriteLine(res);
}
int findIndex = Array.IndexOf(str, "Mat");
Console.Write("Element Mat found at the following index: ");
Console.WriteLine(findIndex);
}
}4. 실행 결과
위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.
Our Array = Cat Mat Rat Element Mat found at the following index: 1
정리
C#에서 배열 내 특정 단어의 인덱스를 찾는 가장 간단한 방법은 Array.IndexOf() 메서드를 활용하는 것입니다. 배열과 찾고자 하는 값을 인자로 넘기면 해당 요소의 인덱스가 반환되며, 값이 없을 경우 -1이 반환된다는 점만 기억하면 됩니다. 이 방법은 반복문을 직접 작성하는 것보다 코드가 간결하고 가독성이 뛰어나므로 실무에서도 널리 사용됩니다.