List.LastIndexOf-Methode (T, Int32)
Assembly: mscorlib (in mscorlib.dll)
public int LastIndexOf ( T item, int index )
public function LastIndexOf ( item : T, index : int ) : int
Nicht zutreffend.
Parameter
- item
Das im List zu suchende Objekt. Der Wert kann für Verweistypen NULL-Verweis (Nothing in Visual Basic) sein.
- index
Der nullbasierte Startindex für die Rückwärtssuche.
Rückgabewert
Der nullbasierte Index des letzten Vorkommens von item innerhalb des Bereichs von Elementen in der List, der sich vom ersten Element bis index erstreckt, sofern gefunden, andernfalls -1.Die List wird rückwärts durchsucht, d. h. der Suchvorgang beginnt am index und endet beim ersten Element.
Diese Methode führt die Gleichheitsprüfung mit dem Standardgleichheitsvergleich EqualityComparer.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 Anfang der List bis zum index steht.
Im folgenden Codebeispiel werden alle drei Überladungen der LastIndexOf-Methode veranschaulicht. Eine List von Zeichenfolgen wird mit einem Eintrag erstellt, der zweimal angezeigt wird: an Indexposition 0 (null) und Indexposition 5. Die LastIndexOf(T)-Methodenüberladung durchsucht die gesamte Liste ausgehend vom Ende und findet das zweite Vorkommen der Zeichenfolge. Mit der LastIndexOf(T,Int32)-Methodenüberladung wird die Liste ab Indexposition 3 rückwärts bis zum Anfang der Liste durchsucht, und das erste Vorkommen der Zeichenfolge wird gefunden. Abschließend wird mit der LastIndexOf(T,Int32,Int32)-Methodenüberladung ein Bereich von vier Einträgen durchsucht. Die Suche erfolgt ausgehend von Indexposition 4 rückwärts (d. h. es werden die Elemente an Position 4, 3, 2 und 1 durchsucht) und 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("\nLastIndexOf(\"Tyrannosaurus\"): {0}", dinosaurs.LastIndexOf("Tyrannosaurus")); Console.WriteLine("\nLastIndexOf(\"Tyrannosaurus\", 3): {0}", dinosaurs.LastIndexOf("Tyrannosaurus", 3)); Console.WriteLine("\nLastIndexOf(\"Tyrannosaurus\", 4, 4): {0}", dinosaurs.LastIndexOf("Tyrannosaurus", 4, 4)); } } /* This code example produces the following output: Tyrannosaurus Amargasaurus Mamenchisaurus Brachiosaurus Deinonychus Tyrannosaurus Compsognathus LastIndexOf("Tyrannosaurus"): 5 LastIndexOf("Tyrannosaurus", 3): 0 LastIndexOf("Tyrannosaurus", 4, 4): -1 */
Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
Microsoft .NET Framework 3.0 wird unter Windows Vista, Microsoft Windows XP SP2 und Windows Server 2003 SP1 unterstützt.