Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Array.IndexOf<T>-Methode: (T[], T, Int32)

 

Veröffentlicht: Oktober 2016

Sucht das angegebene Objekt in einem Bereich von Elementen eines eindimensionalen Arrays und gibt den Index des ersten Vorkommens zurück. Der Bereich erstreckt sich von einem angegebenen Index bis zum Ende des Arrays.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

public static int IndexOf<T>(
	T[] array,
	T value,
	int startIndex
)

Parameter

array
Type: T[]

Das zu durchsuchende eindimensionale und nullbasierte Array.

value
Type: T

Das in array zu suchende Objekt.

startIndex
Type: System.Int32

Der nullbasierte Startindex für die Suche. 0 (null) ist in einem leeren Array gültig.

Rückgabewert

Type: System.Int32

Der nullbasierte Index des ersten Vorkommens von value innerhalb des Bereichs von Elementen im array, das sich von startIndex bis zum letzten Element erstreckt, sofern gefunden, andernfalls -1.

Typparameter

T

Der Typ der Elemente des Arrays.

Exception Condition
ArgumentNullException

array ist null.

ArgumentOutOfRangeException

startIndex liegt außerhalb des Bereichs der gültigen Indizes für array.

Diese Methode sucht ein eindimensionales Array, aus das Element am startIndex bis zum Ende des Arrays. Um zu bestimmen, ob value vorhanden ist, array, die Methode führt einen Gleichheitsvergleich durch Aufrufen der T.Equals -Methode für jedes Element. Dies bedeutet, dass bei T überschreibt die Equals Methode, die Außerkraftsetzung wird aufgerufen.

Wenn startIndex gleich Length, der Methodenrückgabe - 1.If startIndex ist größer als Array.Length, löst die Methode eine ArgumentOutOfRangeException.

Diese Methode ist eine O (n)-Vorgang, in dem n ist die Anzahl von Elementen aus startIndex bis zum Ende des array.

Das folgende Beispiel zeigt alle drei generische Überladung von der IndexOf Methode. Ein Array von Zeichenfolgen wird mit einem Eintrag erstellt, die an die Indexposition 0 und Indexposition 5 zweimal angezeigt wird. Die IndexOf<T>(T[], T) -methodenüberladung, durchsucht das Array ab und sucht das erste Vorkommen der Zeichenfolge. Die IndexOf<T>(T[], T, Int32) methodenüberladung wird verwendet, um das Array, beginnend mit Indexposition 3 und bis zum Ende des Arrays zu fortfahren zu suchen, und sucht das zweite Vorkommen der Zeichenfolge. Schließlich die IndexOf<T>(T[], T, Int32, Int32) methodenüberladung wird verwendet, um einen Bereich mit zwei Einträgen, beginnend bei Indexposition zwei suchen; es gibt-1 zurück, da keine Instanzen der Suchzeichenfolge in diesem Bereich vorhanden sind.

using System;

public class Example
{
    public static void Main()
    {
        string[] dinosaurs = { "Tyrannosaurus",
            "Amargasaurus",
            "Mamenchisaurus",
            "Brachiosaurus",
            "Deinonychus",
            "Tyrannosaurus",
            "Compsognathus" };

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

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

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

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

/* This code example produces the following output:

Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Deinonychus
Tyrannosaurus
Compsognathus

Array.IndexOf(dinosaurs, "Tyrannosaurus"): 0

Array.IndexOf(dinosaurs, "Tyrannosaurus", 3): 5

Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2): -1
 */

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 2.0
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen: