List<T>.IndexOf 메서드

정의

값의 첫 번째 발생 또는 해당 부분에 있는 List<T> 값의 인덱스(0부터 시작)를 반환합니다.

오버로드

Name Description
IndexOf(T, Int32)

지정한 개체를 검색하고 지정된 인덱스에서 마지막 요소까지 확장되는 요소 List<T> 범위 내에서 첫 번째 항목의 인덱스(0부터 시작)를 반환합니다.

IndexOf(T, Int32, Int32)

지정된 개체를 검색하고 지정된 인덱스에서 시작하여 지정된 개수의 요소를 포함하는 요소 List<T> 범위 내에서 처음 발생하는 인덱스(0부터 시작)를 반환합니다.

IndexOf(T)

지정된 개체를 검색하고 전체 List<T>에서 처음 발생한 인덱스(0부터 시작)를 반환합니다.

예제

다음 예제에서는 메서드의 세 오버로드를 IndexOf 모두 보여 줍니다. 인덱스 위치 0과 인덱스 위치 5에 두 번 나타나는 하나의 항목으로 문자열이 List<T> 만들어집니다. IndexOf(T) 메서드 오버로드는 처음부터 목록을 검색하고 문자열의 첫 번째 항목을 찾습니다. IndexOf(T, Int32) 메서드 오버로드는 인덱스 위치 3부터 시작하여 목록의 끝까지 계속 목록을 검색하고 두 번째 문자열을 찾는 데 사용됩니다. 마지막으로 메서드 IndexOf(T, Int32, Int32) 오버로드는 인덱스 위치 2부터 시작하여 두 항목의 범위를 검색하는 데 사용됩니다. 해당 범위에 검색 문자열의 인스턴스가 없으므로 -1 반환합니다.

using System;
using System.Collections.Generic;

public class Example
{
    public static void Main()
    {
        List<string> dinosaurs = new List<string>();

        dinosaurs.Add("Tyrannosaurus");
        dinosaurs.Add("Amargasaurus");
        dinosaurs.Add("Mamenchisaurus");
        dinosaurs.Add("Brachiosaurus");
        dinosaurs.Add("Deinonychus");
        dinosaurs.Add("Tyrannosaurus");
        dinosaurs.Add("Compsognathus");

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

        Console.WriteLine("\nIndexOf(\"Tyrannosaurus\"): {0}",
            dinosaurs.IndexOf("Tyrannosaurus"));

        Console.WriteLine("\nIndexOf(\"Tyrannosaurus\", 3): {0}",
            dinosaurs.IndexOf("Tyrannosaurus", 3));

        Console.WriteLine("\nIndexOf(\"Tyrannosaurus\", 2, 2): {0}",
            dinosaurs.IndexOf("Tyrannosaurus", 2, 2));
    }
}

/* This code example produces the following output:

Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Deinonychus
Tyrannosaurus
Compsognathus

IndexOf("Tyrannosaurus"): 0

IndexOf("Tyrannosaurus", 3): 5

IndexOf("Tyrannosaurus", 2, 2): -1
 */
Imports System.Collections.Generic

Public Class Example

    Public Shared Sub Main()

        Dim dinosaurs As New List(Of String)

        dinosaurs.Add("Tyrannosaurus")
        dinosaurs.Add("Amargasaurus")
        dinosaurs.Add("Mamenchisaurus")
        dinosaurs.Add("Brachiosaurus")
        dinosaurs.Add("Deinonychus")
        dinosaurs.Add("Tyrannosaurus")
        dinosaurs.Add("Compsognathus")

        Console.WriteLine()
        For Each dinosaur As String In dinosaurs
            Console.WriteLine(dinosaur)
        Next

        Console.WriteLine(vbLf & _
            "IndexOf(""Tyrannosaurus""): {0}", _
            dinosaurs.IndexOf("Tyrannosaurus"))

        Console.WriteLine(vbLf & _
            "IndexOf(""Tyrannosaurus"", 3): {0}", _
            dinosaurs.IndexOf("Tyrannosaurus", 3))

        Console.WriteLine(vbLf & _
            "IndexOf(""Tyrannosaurus"", 2, 2): {0}", _
            dinosaurs.IndexOf("Tyrannosaurus", 2, 2))

    End Sub
End Class

' This code example produces the following output:
'
'Tyrannosaurus
'Amargasaurus
'Mamenchisaurus
'Brachiosaurus
'Deinonychus
'Tyrannosaurus
'Compsognathus
'
'IndexOf("Tyrannosaurus"): 0
'
'IndexOf("Tyrannosaurus", 3): 5
'
'IndexOf("Tyrannosaurus", 2, 2): -1

IndexOf(T, Int32)

지정한 개체를 검색하고 지정된 인덱스에서 마지막 요소까지 확장되는 요소 List<T> 범위 내에서 첫 번째 항목의 인덱스(0부터 시작)를 반환합니다.

public:
 int IndexOf(T item, int index);
public int IndexOf(T item, int index);
member this.IndexOf : 'T * int -> int
Public Function IndexOf (item As T, index As Integer) As Integer

매개 변수

item
T

에서 찾을 개체입니다 List<T>. 참조 형식에 대한 값일 null 수 있습니다.

index
Int32

검색의 시작 인덱스(0부터 시작)입니다. 0은 빈 목록에서 유효합니다.

반품

있는 경우 마지막 요소까지 확장되는 요소 List<T> 범위 내의 첫 번째 항목 item 에 대한 인덱스index(0부터 시작)이고, 그렇지 않으면 -1입니다.

예외

index 가 .에 대한 유효한 인덱스 범위를 벗어났습니다 List<T>.

설명

마지막 List<T> 요소에서 index 시작하고 끝나는 앞으로 검색됩니다.

이 메서드는 목록의 값 형식인 기본 같음 비교자를 EqualityComparer<T>.DefaultT사용하여 같음을 결정합니다.

이 메서드는 선형 검색을 수행합니다. 따라서 이 메서드는 O(n) 연산입니다. 여기서 n은 .indexList<T>

추가 정보

적용 대상

IndexOf(T, Int32, Int32)

지정된 개체를 검색하고 지정된 인덱스에서 시작하여 지정된 개수의 요소를 포함하는 요소 List<T> 범위 내에서 처음 발생하는 인덱스(0부터 시작)를 반환합니다.

public:
 int IndexOf(T item, int index, int count);
public int IndexOf(T item, int index, int count);
member this.IndexOf : 'T * int * int -> int
Public Function IndexOf (item As T, index As Integer, count As Integer) As Integer

매개 변수

item
T

에서 찾을 개체입니다 List<T>. 참조 형식에 대한 값일 null 수 있습니다.

index
Int32

검색의 시작 인덱스(0부터 시작)입니다. 0은 빈 목록에서 유효합니다.

count
Int32

검색할 섹션의 요소 수입니다.

반품

0부터 시작하여 요소 수를 포함하는 요소 List<T> 범위 내에서 처음 발견되는 item 인덱스 indexcount(있는 경우)이고, 그렇지 않으면 -1입니다.

예외

index 가 .에 대한 유효한 인덱스 범위를 벗어났습니다 List<T>.

-또는-

count 가 0보다 작습니다.

-또는-

indexcount 유효한 섹션 List<T>을 지정하지 마세요.

설명

List<T> 0보다 큰 경우 count 1을 index 더한 값에서 indexcount 시작하여 끝나는 앞으로 검색됩니다.

이 메서드는 목록의 값 형식인 기본 같음 비교자를 EqualityComparer<T>.DefaultT사용하여 같음을 결정합니다.

이 메서드는 선형 검색을 수행합니다. 따라서 이 메서드는 O(n) 작업이며 여기서 n 은 .입니다 count.

추가 정보

적용 대상

IndexOf(T)

지정된 개체를 검색하고 전체 List<T>에서 처음 발생한 인덱스(0부터 시작)를 반환합니다.

public:
 virtual int IndexOf(T item);
public int IndexOf(T item);
abstract member IndexOf : 'T -> int
override this.IndexOf : 'T -> int
Public Function IndexOf (item As T) As Integer

매개 변수

item
T

에서 찾을 개체입니다 List<T>. 참조 형식에 대한 값일 null 수 있습니다.

반품

전체List<T>에서 처음 발견되는 인덱스(있는 경우)의 item 인덱스(0부터 시작)이고, 그렇지 않으면 -1입니다.

구현

설명

List<T> 번째 요소에서 시작하여 마지막 요소에서 끝나는 앞으로 검색됩니다.

이 메서드는 목록의 값 형식인 기본 같음 비교자를 EqualityComparer<T>.DefaultT사용하여 같음을 결정합니다.

이 메서드는 선형 검색을 수행합니다. 따라서 이 메서드는 O(n) 작업이며 여기서 n 은 .입니다 Count.

추가 정보

적용 대상