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

C# Array.Find() 메서드 완벽 가이드: 조건에 맞는 배열 요소 찾기

C#의 Array.Find() 메서드는 지정된 조건자(predicate)로 정의된 조건과 일치하는 요소를 배열에서 검색하고, 전체 배열 중 첫 번째로 일치하는 요소를 반환하는 정적 메서드입니다. 조건을 만족하는 요소가 없으면 기본값(default)을 반환합니다.

문법

Array.Find() 메서드의 기본 문법은 다음과 같습니다.

public static T Find<T> (T[] array, Predicate<T> match);

매개변수 설명

  • array: 검색 대상이 되는 1차원, 0부터 시작하는(0-based) 배열입니다.
  • match: 검색할 요소의 조건을 정의하는 Predicate<T> 델리게이트입니다.

사용 예제

다음은 Array.Find() 메서드를 활용하여 't'로 시작하는 문자열 요소를 검색하는 예제입니다.

using System;
public class Demo{
    public static void Main(){
        Console.WriteLine("배열 요소...");
        string[] arr = { "car", "bike", "truck", "bus"};
        for (int i = 0; i < arr.Length; i++){
            Console.Write("{0} ", arr[i]);
        }
        Console.WriteLine();
        string res = Array.Find(arr, ele => ele.StartsWith("t",
        StringComparison.Ordinal));
        Console.Write("검색된 요소... ");
        Console.Write("{0}", res);
    }
}

실행 결과

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

배열 요소...
car bike truck bus
검색된 요소... truck

핵심 포인트

  • Array.Find()는 람다 식(lambda expression)과 함께 사용하면 간결하게 조건을 지정할 수 있습니다.
  • 예제에서 사용한 StringComparison.Ordinal 옵션은 대소문자를 구분하는 정확한 문자열 비교를 수행합니다.
  • 조건에 맞는 모든 요소를 찾으려면 Array.FindAll(), 마지막 일치 요소를 찾으려면 Array.FindLast()를 사용하면 됩니다.