(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

List<T>.IndexOf-Methode (T, Int32)

Sucht nach dem angegebenen Objekt und gibt den nullbasierten Index des ersten Vorkommens innerhalb des Bereichs von Elementen in der List<T> zurück, der sich vom angegebenen Index bis zum letzten Element erstreckt.

Namespace:  System.Collections.Generic
Assembly:  mscorlib (in mscorlib.dll)
public int IndexOf(
	T item,
	int index
)

Parameter

item
Typ: T
Das im List<T> zu suchende Objekt. Der Wert kann für Referenztypen null sein.
index
Typ: System.Int32
Der nullbasierte Startindex für die Suche. 0 (null) ist in einer leeren Liste gültig.

Rückgabewert

Typ: System.Int32
Der nullbasierte Index des ersten Vorkommens von item innerhalb des Bereichs von Elementen in der List<T>, der sich von index bis zum letzten Element erstreckt, sofern gefunden, andernfalls -1.
AusnahmeBedingung
ArgumentOutOfRangeException

index liegt außerhalb des Bereichs der gültigen Indizes für List<T>.

Die List<T> wird vorwärts durchsucht, d. h. der Suchvorgang beginnt am index und endet beim letzten Element.

Diese Methode führt die Gleichheitsprüfung mit dem Standardgleichheitsvergleich EqualityComparer<T>.Default für T durch, den Typ der Werte in der Liste.

Diese Methode führt eine lineare Suche durch. Daher handelt es sich bei dieser Methode um eine O(n)-Operation, wobei n für die Anzahl der Elemente vom index bis zum Ende der List<T> steht.

Im folgenden Codebeispiel werden alle drei Überladungen der IndexOf-Methode veranschaulicht. Ein List<T> von Zeichenfolgen wird erstellt, mit einem Eintrag, der zweimal vorkommt, an Indexposition 0 und Indexposition 5. Die IndexOf(T)-Methodenüberladung durchsucht die Liste ausgehend vom Anfang und sucht das erste Vorkommen der Zeichenfolge. Mit der IndexOf(T, Int32)-Methodenüberladung wird die Liste ab Indexposition 3 bis zum Ende der Liste durchsucht, und das zweite Vorkommen der Zeichenfolge wird gefunden. Abschließend wird die IndexOf(T, Int32, Int32)-Methodenüberladung zum Durchsuchen eines Bereichs von zwei Einträgen ab Indexposition 2 verwendet. Sie gibt -1 zurück, da in diesem Bereich keine Instanzen der Suchzeichenfolge vorhanden sind.


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
 */


.NET Framework

Unterstützt in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Unterstützt in:

Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Vielen Dank für Ihr Feedback.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft. Alle Rechte vorbehalten.