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

C# Array.TrueForAll() 메서드 완벽 가이드 – 구문, 예제, 실행 결과까지


C#의 Array.TrueForAll() 메서드는 배열에 포함된 모든 요소가 지정된 조건자(Predicate)에서 정의한 조건을 만족하는지 여부를 판별하는 정적 메서드입니다. 모든 요소가 조건을 충족하면 true를, 단 하나라도 충족하지 않으면 false를 반환합니다.

구문

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

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

매개변수

  • array : 조건을 검사할 1차원 배열(T[])
  • match : 각 요소에 적용할 조건을 정의하는 Predicate<T> 대리자

반환 값

배열의 모든 요소가 조건자와 일치하면 true, 그렇지 않으면 false를 반환합니다.

예제

다음은 Array.TrueForAll() 메서드를 활용해 문자열 배열의 모든 요소가 특정 조건(문자 'b'로 시작)을 만족하는지 확인하는 예제입니다.

using System;
public class Demo{
    public static void Main(){
        Console.WriteLine("배열 요소...");
        string[] arr = { "bike", "bus"};
        for (int i = 0; i < arr.Length; i++){
            Console.Write("{0} ", arr[i]);
        }
        Console.WriteLine();
        int lastIndex = Array.LastIndexOf(arr, "bus");
        Console.WriteLine("요소 bus가 마지막으로 나타나는 인덱스 = " + lastIndex);
        bool res = Array.TrueForAll(arr, ele => ele.StartsWith("b",
        StringComparison.Ordinal));
        if (res)
            Console.Write("배열의 모든 요소가 지정된 조건자에서 정의한 조건을 만족합니다.");
        else
            Console.Write("배열의 일부 요소가 지정된 조건자에서 정의한 조건을 만족하지 않습니다.");
    }
}

실행 결과

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

배열 요소...
bike bus
요소 bus가 마지막으로 나타나는 인덱스 = 1
배열의 모든 요소가 지정된 조건자에서 정의한 조건을 만족합니다.

주요 특징

  • null 처리 : array 또는 match 매개변수가 null이면 ArgumentNullException이 발생합니다.
  • 빈 배열 : 빈 배열을 전달하면 조건을 위반하는 요소가 없으므로 true를 반환합니다.
  • LINQ와의 비교 : LINQ의 All() 확장 메서드와 유사하게 동작하지만, Array.TrueForAll()은 배열 전용으로 설계되어 더 직관적입니다.
  • 유연한 조건자 : 람다 식뿐만 아니라 명명된 메서드나 기존 대리자도 조건자로 전달할 수 있습니다.