Auf Englisch lesen

Freigeben über


Collection<T>.IndexOf(T) Methode

Definition

Sucht nach dem angegebenen Objekt und gibt den nullbasierten Index des ersten Vorkommens innerhalb der gesamten Collection<T> zurück.

public int IndexOf (T item);

Parameter

item
T

Das im Collection<T> zu suchende Objekt. Der Wert kann für Verweistypen null sein.

Gibt zurück

Der nullbasierte Index des ggf. ersten Vorkommens von item in der gesamten Collection<T>, andernfalls -1.

Implementiert

Beispiele

Im folgenden Codebeispiel werden viele der Eigenschaften und Methoden von Collection<T>veranschaulicht. Im Codebeispiel wird eine Auflistung von Zeichenfolgen erstellt, die Add -Methode verwendet, um mehrere Zeichenfolgen hinzuzufügen, zeigt an Count, und listet die Zeichenfolgen auf. Im Beispiel wird die IndexOf -Methode verwendet, um den Index einer Zeichenfolge zu suchen, und die Contains -Methode, um zu bestimmen, ob eine Zeichenfolge in der Auflistung enthalten ist. Im Beispiel wird eine Zeichenfolge mithilfe der Insert -Methode eingefügt und Zeichenfolgen mithilfe der Standardeigenschaft Item[] (dem Indexer in C#) abgerufen und festgelegt. Im Beispiel werden Zeichenfolgen anhand der Zeichenfolgenidentität mithilfe der Remove -Methode und mithilfe der RemoveAt -Methode nach Index entfernt. Schließlich wird die Clear -Methode verwendet, um alle Zeichenfolgen aus der Auflistung zu löschen.

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;

public class Demo
{
    public static void Main()
    {
        Collection<string> dinosaurs = new Collection<string>();

        dinosaurs.Add("Psitticosaurus");
        dinosaurs.Add("Caudipteryx");
        dinosaurs.Add("Compsognathus");
        dinosaurs.Add("Muttaburrasaurus");

        Console.WriteLine("{0} dinosaurs:", dinosaurs.Count);
        Display(dinosaurs);

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

        Console.WriteLine("\nContains(\"Caudipteryx\"): {0}",
            dinosaurs.Contains("Caudipteryx"));

        Console.WriteLine("\nInsert(2, \"Nanotyrannus\")");
        dinosaurs.Insert(2, "Nanotyrannus");
        Display(dinosaurs);

        Console.WriteLine("\ndinosaurs[2]: {0}", dinosaurs[2]);

        Console.WriteLine("\ndinosaurs[2] = \"Microraptor\"");
        dinosaurs[2] = "Microraptor";
        Display(dinosaurs);

        Console.WriteLine("\nRemove(\"Microraptor\")");
        dinosaurs.Remove("Microraptor");
        Display(dinosaurs);

        Console.WriteLine("\nRemoveAt(0)");
        dinosaurs.RemoveAt(0);
        Display(dinosaurs);

        Console.WriteLine("\ndinosaurs.Clear()");
        dinosaurs.Clear();
        Console.WriteLine("Count: {0}", dinosaurs.Count);
    }

    private static void Display(Collection<string> cs)
    {
        Console.WriteLine();
        foreach( string item in cs )
        {
            Console.WriteLine(item);
        }
    }
}

/* This code example produces the following output:

4 dinosaurs:

Psitticosaurus
Caudipteryx
Compsognathus
Muttaburrasaurus

IndexOf("Muttaburrasaurus"): 3

Contains("Caudipteryx"): True

Insert(2, "Nanotyrannus")

Psitticosaurus
Caudipteryx
Nanotyrannus
Compsognathus
Muttaburrasaurus

dinosaurs[2]: Nanotyrannus

dinosaurs[2] = "Microraptor"

Psitticosaurus
Caudipteryx
Microraptor
Compsognathus
Muttaburrasaurus

Remove("Microraptor")

Psitticosaurus
Caudipteryx
Compsognathus
Muttaburrasaurus

RemoveAt(0)

Caudipteryx
Compsognathus
Muttaburrasaurus

dinosaurs.Clear()
Count: 0
 */

Hinweise

Die Collection<T> wird nach vorne gesucht, beginnend beim ersten Element und endend beim letzten Element.

Diese Methode bestimmt die Gleichheit mithilfe des Standardgleichheitsvergleichs EqualityComparer<T>.Default für T, dem Typ der Werte in der Liste.

Diese Methode führt eine lineare Suche aus. Daher ist die durchschnittliche Ausführungszeit proportional zu Count. Das heißt, diese Methode ist ein O(n)-Vorgang, wobei n ist Count.

Gilt für:

Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Weitere Informationen