List<T>.IndexOf Metod

Definition

Returnerar det nollbaserade indexet för den första förekomsten av ett värde i List<T> eller i en del av det.

Överlagringar

Name Description
IndexOf(T, Int32)

Söker efter det angivna objektet och returnerar det nollbaserade indexet för den första förekomsten inom elementintervallet List<T> i som sträcker sig från det angivna indexet till det sista elementet.

IndexOf(T, Int32, Int32)

Söker efter det angivna objektet och returnerar det nollbaserade indexet för den första förekomsten inom elementintervallet List<T> i det som börjar vid det angivna indexet och innehåller det angivna antalet element.

IndexOf(T)

Söker efter det angivna objektet och returnerar det nollbaserade indexet för den första förekomsten i hela List<T>.

Exempel

I följande exempel visas alla tre överlagringarna av IndexOf metoden. En List<T> sträng skapas, med en post som visas två gånger, på indexplats 0 och indexplats 5. Metodens IndexOf(T) överlagring söker i listan från början och hittar den första förekomsten av strängen. Metodens IndexOf(T, Int32) överlagring används för att söka i listan från och med indexplats 3 och fortsätta till slutet av listan och hittar den andra förekomsten av strängen. Slutligen används metodöverlagringen IndexOf(T, Int32, Int32) för att söka i ett intervall med två poster, som börjar på indexplats två. Den returnerar -1 eftersom det inte finns några instanser av söksträngen i det intervallet.

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)

Söker efter det angivna objektet och returnerar det nollbaserade indexet för den första förekomsten inom elementintervallet List<T> i som sträcker sig från det angivna indexet till det sista elementet.

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

Parametrar

item
T

Objektet som ska hittas List<T>i . Värdet kan vara null för referenstyper.

index
Int32

Det nollbaserade startindexet för sökningen. 0 (noll) är giltigt i en tom lista.

Returer

Det nollbaserade indexet för den första förekomsten av item inom elementintervallet List<T> i som sträcker sig från index till det sista elementet, om det hittas, annars -1.

Undantag

index ligger utanför intervallet för giltiga index för List<T>.

Kommentarer

List<T> Söks framåt med början vid index och slutar vid det sista elementet.

Den här metoden avgör likhet med standardjämlikhetsjämföraren EqualityComparer<T>.Default för T, typen av värden i listan.

Den här metoden utför en linjär sökning. Därför är den här metoden en O(n) åtgärd, där n är antalet element från index till slutet av List<T>.

Se även

Gäller för

IndexOf(T, Int32, Int32)

Söker efter det angivna objektet och returnerar det nollbaserade indexet för den första förekomsten inom elementintervallet List<T> i det som börjar vid det angivna indexet och innehåller det angivna antalet element.

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

Parametrar

item
T

Objektet som ska hittas List<T>i . Värdet kan vara null för referenstyper.

index
Int32

Det nollbaserade startindexet för sökningen. 0 (noll) är giltigt i en tom lista.

count
Int32

Antalet element i avsnittet som ska sökas.

Returer

Det nollbaserade indexet för den första förekomsten av item inom elementintervallet List<T> i som börjar vid index och innehåller antalet element, om det hittas count , annars -1.

Undantag

index ligger utanför intervallet för giltiga index för List<T>.

-eller-

count är mindre än 0.

-eller-

index och count ange inte ett giltigt avsnitt i List<T>.

Kommentarer

List<T> Söks framåt med början vid index och slutar på index plus count minus 1, om count är större än 0.

Den här metoden avgör likhet med standardjämlikhetsjämföraren EqualityComparer<T>.Default för T, typen av värden i listan.

Den här metoden utför en linjär sökning. Därför är den här metoden en O(n) åtgärd, där n är count.

Se även

Gäller för

IndexOf(T)

Söker efter det angivna objektet och returnerar det nollbaserade indexet för den första förekomsten i hela List<T>.

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

Parametrar

item
T

Objektet som ska hittas List<T>i . Värdet kan vara null för referenstyper.

Returer

Det nollbaserade indexet för den första förekomsten av item i hela List<T>, om det hittas, annars -1.

Implementeringar

Kommentarer

List<T> Söks framåt med början vid det första elementet och slutar vid det sista elementet.

Den här metoden avgör likhet med standardjämlikhetsjämföraren EqualityComparer<T>.Default för T, typen av värden i listan.

Den här metoden utför en linjär sökning. Därför är den här metoden en O(n) åtgärd, där n är Count.

Se även

Gäller för