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, Int32)

 

Veröffentlicht: Oktober 2016

Sucht das angegebene Objekt in einem Elementbereich eines eindimensionalen Arrays und gibt den Index seines ersten Auftretens zurück. Der Bereich erstreckt sich von einem angegebenen Index für eine angegebene Anzahl von Elementen.

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

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

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.

count
Type: System.Int32

Die Anzahl der Elemente im zu durchsuchenden Abschnitt.

Rückgabewert

Type: System.Int32

Der nullbasierte Index des ersten Vorkommens von value innerhalb des Bereichs von Elementen in array, das bei startIndex beginnt und die in count angegebene Anzahl von Elementen enthält, 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.

- oder -

count ist kleiner als Null.

- oder -

startIndex und count geben keinen gültigen Abschnitt im array an.

Diese Methode Searchesthe Elemente eines eindimensionalen Arrays von startIndex auf startIndex plus count minus 1, wenn count ist größer als 0. 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 Array.Length, die Methode gibt-1 zurück. Wenn startIndex ist größer als Array.Length, löst die Methode eine ArgumentOutOfRangeException.

Diese Methode ist eine O (n) Vorgang, wobei n ist count.

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: