이 문서는 기계로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오. 추가 정보
번역
원본
이 항목은 아직 평가되지 않았습니다.- 이 항목 평가

Array.FindLastIndex<T> 메서드 (T[], Predicate<T>)

지정한 조건자에 정의된 조건과 일치하는 요소를 검색하여 전체 Array에서 일치하는 요소 중 마지막 요소의 인덱스(0부터 시작)를 반환합니다.

네임스페이스:  System
어셈블리:  mscorlib(mscorlib.dll)
public static int FindLastIndex<T>(
	T[] array,
	Predicate<T> match
)

Type 매개 변수

T

배열 요소의 형식입니다.

매개 변수

array
형식: T[]
검색할 1차원 Array(인덱스는 0부터 시작)입니다.
match
형식: System.Predicate<T>
검색할 요소의 조건을 정의하는 Predicate<T>입니다.

반환 값

형식: System.Int32
match에 정의된 조건과 일치하는 요소가 있으면 일치하는 요소 중 마지막 요소의 인덱스(0부터 시작)이고, 그렇지 않으면 -1입니다.
예외조건
ArgumentNullException

arraynull입니다.

또는

matchnull입니다.

Array 는 마지막 요소의 처음부터 첫 번째 요소의 끝까지 뒤로 검색됩니다.

Predicate<T> 는 전달된 개체가 대리자에 정의된 조건과 일치하는 경우 true를 반환하는 메서드의 대리자입니다. array의 요소는 개별적으로 Predicate<T>에 전달됩니다.

이 메서드는 O(n) 연산이며, 여기서 narrayLength입니다.

다음 코드 예제에서는 FindLastIndex 제네릭 메서드의 세 가지 오버로드를 모두 보여 줍니다. 문자열의 배열이 만들어집니다. 여기에는 공룡 이름이 8개 포함되고 위치 1과 5에 있는 두 이름은 "saurus"로 끝납니다. 이 코드 예제에서는 EndsWithSaurus라는 검색 조건자 메서드도 정의합니다. 이 메서드는 문자열 매개 변수를 사용하고 입력 문자열이 "saurus"로 끝나는지 여부를 나타내는 부울 값을 반환합니다.

FindLastIndex<T>(T[], Predicate<T>) 메서드 오버로드는 배열의 끝 부분부터 뒤로 이동하면서 각 요소를 차례로 EndsWithSaurus 메서드에 전달합니다. EndsWithSaurus 메서드가 위치 5에 있는 요소에 대해 true를 반환하면 검색이 중지됩니다.

참고참고

C#과 Visual Basic에서는 Predicate<string> 대리자(Visual Basic의 경우 Predicate(Of String))를 명시적으로 만들 필요가 없습니다. 이러한 언어에서는 컨텍스트에서 올바른 대리자를 유추하여 자동으로 만듭니다.

FindLastIndex<T>(T[], Int32, Predicate<T>) 메서드 오버로드를 사용하여 위치 4부터 배열의 시작 부분까지 배열을 뒤로 검색합니다. 위치 1에서 요소를 찾습니다. 마지막으로 FindLastIndex<T>(T[], Int32, Int32, Predicate<T>) 메서드 오버로드를 사용하여 위치 4부터 뒤로 세 요소의 범위를 검색합니다(즉, 요소 4, 3, 2). 이 범위에는 "saurus"로 끝나는 공룡 이름이 없기 때문에 이 오버로드는 -1을 반환합니다.


using System;

public class Example
{
    public static void Main()
    {
        string[] dinosaurs = { "Compsognathus", 
            "Amargasaurus",   "Oviraptor",      "Velociraptor", 
            "Deinonychus",    "Dilophosaurus",  "Gallimimus", 
            "Triceratops" };

        Console.WriteLine();
        foreach(string dinosaur in dinosaurs)
        {
            Console.WriteLine(dinosaur);
        }

        Console.WriteLine(
            "\nArray.FindLastIndex(dinosaurs, EndsWithSaurus): {0}", 
            Array.FindLastIndex(dinosaurs, EndsWithSaurus));

        Console.WriteLine(
            "\nArray.FindLastIndex(dinosaurs, 4, EndsWithSaurus): {0}",
            Array.FindLastIndex(dinosaurs, 4, EndsWithSaurus));

        Console.WriteLine(
            "\nArray.FindLastIndex(dinosaurs, 4, 3, EndsWithSaurus): {0}",
            Array.FindLastIndex(dinosaurs, 4, 3, EndsWithSaurus));
    }

    // Search predicate returns true if a string ends in "saurus".
    private static bool EndsWithSaurus(String s)
    {
        if ((s.Length > 5) && 
            (s.Substring(s.Length - 6).ToLower() == "saurus"))
        {
            return true;
        }
        else
        {
            return false;
        }
    }
}

/* This code example produces the following output:

Compsognathus
Amargasaurus
Oviraptor
Velociraptor
Deinonychus
Dilophosaurus
Gallimimus
Triceratops

Array.FindLastIndex(dinosaurs, EndsWithSaurus): 5

Array.FindLastIndex(dinosaurs, 4, EndsWithSaurus): 1

Array.FindLastIndex(dinosaurs, 4, 3, EndsWithSaurus): -1
 */


.NET Framework

4.5, 4, 3.5, 3.0, 2.0에서 지원

.NET Framework Client Profile

4, 3.5 SP1에서 지원

이식 가능한 클래스 라이브러리

이식 가능한 클래스 라이브러리에서 지원

Windows 스토어 앱용 .NET

Windows 8에서 지원

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(서버 코어 역할은 지원되지 않음), Windows Server 2008 R2(서버 코어 역할은 SP1 이상에서 지원, Itanium은 지원되지 않음)

.NET Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.
이 정보가 도움이 되었습니까?
(1500자 남음)

커뮤니티 추가 항목

추가
© 2013 Microsoft. All rights reserved.