Weiter zum Hauptinhalt
Dieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge durch, um die neuesten Features, Sicherheitsupdates und den technischen Support zu nutzen.
Array.IndexOf Methode
- Referenz
Definition
Sucht das angegebene Objekt und gibt den Index seines ersten Auftretens in einem eindimensionalen Array oder in einem Elementbereich im Array zurück.
In diesem Artikel
Überlädt
IndexOf(Array, Object) | Sucht nach dem angegebenen Objekt und gibt den Index des ersten Vorkommens in einem eindimensionalen Array zurück. |
IndexOf(Array, Object, Int32) | 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 bis zum Ende des Arrays. |
IndexOf(Array, Object, Int32, Int32) | 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 für eine angegebene Anzahl von Elementen. |
IndexOf<T>(T[], T, Int32) | 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. |
IndexOf<T>(T[], T, Int32, Int32) | 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. |
IndexOf<T>(T[], T) | Sucht nach dem angegebenen Objekt und gibt den Index des ersten Vorkommens in einem eindimensionalen Array zurück. |
IndexOf(Array, Object)
Sucht nach dem angegebenen Objekt und gibt den Index des ersten Vorkommens in einem eindimensionalen Array zurück.
public: static int IndexOf(Array ^ array, System::Object ^ value);public static int IndexOf (Array array, object value);public static int IndexOf (Array array, object? value);static member IndexOf : Array * obj -> intPublic Shared Function IndexOf (array As Array, value As Object) As IntegerParameter
array Array
Das zu durchsuchende eindimensionale Array.
value Object
Das in array zu suchende Objekt.
Gibt zurück
Int32Der Index des ersten Vorkommens von value in array, sofern gefunden, andernfalls die untere Grenze des Arrays minus 1.
Ausnahmen
array ist mehrdimensional.
Beispiele
Im Beispiel werden die folgenden drei Überladungen der IndexOf Methode aufgerufen, um den Index einer Zeichenfolge in einem Zeichenfolgenarray zu finden:
IndexOf(Array, Object), um das erste Vorkommen der Zeichenfolge "the" in einem Zeichenfolgenarray zu bestimmen.
IndexOf(Array, Object, Int32), um das erste Vorkommen der Zeichenfolge "the" im vierten bis zur letzten Elemente eines Zeichenfolgenarrays zu bestimmen.
IndexOf(Array, Object, Int32, Int32), um das erste Vorkommen der Zeichenfolge "the" in einem Zeichenfolgenarray aus dem Element zu bestimmen, das der letzten erfolgreichen Übereinstimmung am Ende des Arrays folgt.
Hinweise
Diese Methode sucht alle Elemente eines eindimensionalen Arrays nach value. Um zu ermitteln, ob value vorhanden ist, führt die Methode einen Gleichheitsvergleich arraydurch Aufrufen der Methode jedes Elements Equals aus, bis es eine Übereinstimmung findet. Dies bedeutet, dass das Element die Methode außer Kraft setzt Object.Equals(Object) , wird diese Außerkraftsetzung aufgerufen.
Da die meisten Arrays eine niedrigere Grenze von Null aufweisen, gibt diese Methode im Allgemeinen -1 zurück, wennvalue nicht gefunden wird. In dem seltenen Fall, dass die untere Grenze des Arrays gleich (0x80000000) ist und value nicht gefunden wirdInt32.MinValue, gibt diese Methode Int32.MaxValue zurück (0x7FFFFFFF).
Diese Methode ist ein O()-nVorgang, wo n dies der Length Fall arrayist.
Siehe auch
- LastIndexOf
Gilt für
IndexOf(Array, Object, Int32)
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 bis zum Ende des Arrays.
public: static int IndexOf(Array ^ array, System::Object ^ value, int startIndex);public static int IndexOf (Array array, object value, int startIndex);public static int IndexOf (Array array, object? value, int startIndex);static member IndexOf : Array * obj * int -> intPublic Shared Function IndexOf (array As Array, value As Object, startIndex As Integer) As IntegerParameter
array Array
Das zu durchsuchende eindimensionale Array.
value Object
Das in array zu suchende Objekt.
startIndex Int32
Der Startindex für die Suche. 0 (null) ist in einem leeren Array gültig.
Gibt zurück
Int32Der Index des ersten Vorkommens von value, sofern gefunden, innerhalb des Bereichs von Elementen in array, der sich von startIndex bis zum letzten Element erstreckt; andernfalls die untere Grenze des Arrays minus 1.
Ausnahmen
startIndex liegt außerhalb des Bereichs der gültigen Indizes für array.
array ist mehrdimensional.
Beispiele
Im Beispiel werden die folgenden drei Überladungen der IndexOf Methode aufgerufen, um den Index einer Zeichenfolge in einem Zeichenfolgenarray zu finden:
IndexOf(Array, Object), um das erste Vorkommen der Zeichenfolge "the" in einem Zeichenfolgenarray zu bestimmen.
IndexOf(Array, Object, Int32), um das erste Vorkommen der Zeichenfolge "the" im vierten bis zur letzten Elemente eines Zeichenfolgenarrays zu bestimmen.
IndexOf(Array, Object, Int32, Int32), um das erste Vorkommen der Zeichenfolge "the" in einem Zeichenfolgenarray aus dem Element zu bestimmen, das der letzten erfolgreichen Übereinstimmung am Ende des Arrays folgt.
Hinweise
Diese Methode durchsucht eindimensionales Array aus dem Element im Index startIndex bis zum letzten Element. Um zu ermitteln, ob value vorhanden ist, führt die Methode einen Gleichheitsvergleich arraydurch Aufrufen der Equals Methode jedes Elements aus, bis es eine Übereinstimmung findet. Dies bedeutet, dass das Element die Methode außer Kraft setzt Object.Equals(Object) , wird diese Außerkraftsetzung aufgerufen.
Da die meisten Arrays eine niedrigere Grenze von Null aufweisen, gibt diese Methode im Allgemeinen -1 zurück, wenn value nicht gefunden wird. In dem seltenen Fall, dass die untere Grenze des Arrays gleich (0x80000000) ist und value nicht gefunden wirdInt32.MinValue, gibt diese Methode Int32.MaxValue zurück (0x7FFFFFFF).
Wenn startIndex die Array.LengthMethode gleich ist, gibt die Methode -1 zurück. Wenn startIndex größer als Array.Lengthist, löst die Methode eine ArgumentOutOfRangeException.
Diese Methode ist ein O()-nVorgang, wobei n die Anzahl der Elemente vom startIndex Ende bis zum Ende ist array.
Siehe auch
- LastIndexOf
- Durchführen kulturunabhängiger Zeichenfolgenoperationen in Arrays
Gilt für
IndexOf(Array, Object, Int32, Int32)
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 für eine angegebene Anzahl von Elementen.
public: static int IndexOf(Array ^ array, System::Object ^ value, int startIndex, int count);public static int IndexOf (Array array, object value, int startIndex, int count);public static int IndexOf (Array array, object? value, int startIndex, int count);static member IndexOf : Array * obj * int * int -> intPublic Shared Function IndexOf (array As Array, value As Object, startIndex As Integer, count As Integer) As IntegerParameter
array Array
Das zu durchsuchende eindimensionale Array.
value Object
Das in array zu suchende Objekt.
startIndex Int32
Der Startindex für die Suche. 0 (null) ist in einem leeren Array gültig.
count Int32
Die Anzahl der zu suchenden Elemente.
Gibt zurück
Int32Der Index des ersten Vorkommens von value, sofern gefunden im array vom startIndex-Index bis startIndex + count – 1; andernfalls die untere Grenze des Arrays minus 1.
Ausnahmen
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.
array ist mehrdimensional.
Beispiele
Im Beispiel werden die folgenden drei Überladungen der IndexOf Methode aufgerufen, um den Index einer Zeichenfolge in einem Zeichenfolgenarray zu finden:
IndexOf(Array, Object), um das erste Vorkommen der Zeichenfolge "the" in einem Zeichenfolgenarray zu bestimmen.
IndexOf(Array, Object, Int32), um das erste Vorkommen der Zeichenfolge "the" im vierten bis zur letzten Elemente eines Zeichenfolgenarrays zu bestimmen.
IndexOf(Array, Object, Int32, Int32), um das erste Vorkommen der Zeichenfolge "the" in einem Zeichenfolgenarray aus dem Element zu bestimmen, das der letzten erfolgreichen Übereinstimmung am Ende des Arrays folgt. Um den Wert des Arguments zu bestimmen, subtrahiert sie die obere Grenze des count Arrays aus dem Startindex und fügt eine hinzu.
Hinweise
Diese Methode durchsucht die Elemente eines eindimensionalen Arrays von startIndex startIndex count plus minus 1, wenn count größer als 0 ist. Um zu ermitteln, ob value vorhanden ist, führt die Methode einen Gleichheitsvergleich arraydurch Aufrufen der Equals Methode jedes Elements aus, bis es eine Übereinstimmung findet. Dies bedeutet, dass das Element die Methode außer Kraft setzt Object.Equals , wird diese Außerkraftsetzung aufgerufen.
Da die meisten Arrays eine niedrigere Grenze von Null aufweisen, gibt diese Methode im Allgemeinen -1 zurück, wenn value nicht gefunden wird. In dem seltenen Fall, dass die untere Grenze des Arrays gleich (0x80000000) ist und value nicht gefunden wird Int32.MinValue , gibt diese Methode Int32.MaxValue zurück (0x7FFFFFFF).
Wenn startindex gleich Array.Length, gibt die Methode -1 zurück. Wenn startIndex größer als Array.Lengthist, löst die Methode eine ArgumentOutOfRangeException.
Diese Methode ist ein O()-nVorgang, wo n ist count.
Siehe auch
- LastIndexOf
- Durchführen kulturunabhängiger Zeichenfolgenoperationen in Arrays
Gilt für
IndexOf<T>(T[], T, Int32)
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.
public: generic <typename T> static int IndexOf(cli::array <T> ^ array, T value, int startIndex);public static int IndexOf<T> (T[] array, T value, int startIndex);static member IndexOf : 'T[] * 'T * int -> intPublic Shared Function IndexOf(Of T) (array As T(), value As T, startIndex As Integer) As IntegerTypparameter
T
Der Typ der Elemente des Arrays.
Parameter
array T[]
Das zu durchsuchende eindimensionale und nullbasierte Array.
value T
Das in array zu suchende Objekt.
startIndex Int32
Der nullbasierte Startindex für die Suche. 0 (null) ist in einem leeren Array gültig.
Gibt zurück
Int32Der nullbasierte Index des ersten Vorkommens von value innerhalb des Bereichs von Elementen in array, der sich von startIndex bis zum letzten Element erstreckt, sofern gefunden, andernfalls –1.
Ausnahmen
startIndex liegt außerhalb des Bereichs der gültigen Indizes für array.
Beispiele
Im folgenden Beispiel werden alle drei generischen Überladungen der IndexOf Methode veranschaulicht. Ein Array von Zeichenfolgen wird erstellt, wobei ein Eintrag, der zweimal angezeigt wird, an Indexspeicherort 0 und Indexspeicherort 5 angezeigt wird. Die IndexOf<T>(T[], T) Methodenüberladung sucht das Array von Anfang an und findet das erste Vorkommen der Zeichenfolge. Die IndexOf<T>(T[], T, Int32) Methodenüberladung wird verwendet, um das Array ab Indexspeicherort 3 zu durchsuchen und das Ende des Arrays fortzusetzen, und findet das zweite Vorkommen der Zeichenfolge. Schließlich wird die IndexOf<T>(T[], T, Int32, Int32) Methodenüberladung verwendet, um einen Bereich von zwei Einträgen zu durchsuchen, beginnend mit dem Indexspeicherort zwei; es gibt -1 zurück, da keine Instanzen der Suchzeichenfolge in diesem Bereich vorhanden sind.
using namespace System; void main() { array<String^>^ dinosaurs = { "Tyrannosaurus", "Amargasaurus", "Mamenchisaurus", "Brachiosaurus", "Deinonychus", "Tyrannosaurus", "Compsognathus" }; Console::WriteLine(); for each(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 */ 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 */ open System let dinosaurs = [| "Tyrannosaurus" "Amargasaurus" "Mamenchisaurus" "Brachiosaurus" "Deinonychus" "Tyrannosaurus" "Compsognathus" |] printfn "" for dino in dinosaurs do printfn $"{dino}" Array.IndexOf(dinosaurs, "Tyrannosaurus") |> printfn "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\"): %i" Array.IndexOf(dinosaurs, "Tyrannosaurus", 3) |> printfn "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\", 3): %i" Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2) |> printfn "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\", 2, 2): %i" // 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 Public Class Example Public Shared Sub Main() Dim dinosaurs() As String = { "Tyrannosaurus", _ "Amargasaurus", _ "Mamenchisaurus", _ "Brachiosaurus", _ "Deinonychus", _ "Tyrannosaurus", _ "Compsognathus" } Console.WriteLine() For Each dinosaur As String In dinosaurs Console.WriteLine(dinosaur) Next Console.WriteLine(vbLf & _ "Array.IndexOf(dinosaurs, ""Tyrannosaurus""): {0}", _ Array.IndexOf(dinosaurs, "Tyrannosaurus")) Console.WriteLine(vbLf & _ "Array.IndexOf(dinosaurs, ""Tyrannosaurus"", 3): {0}", _ Array.IndexOf(dinosaurs, "Tyrannosaurus", 3)) Console.WriteLine(vbLf & _ "Array.IndexOf(dinosaurs, ""Tyrannosaurus"", 2, 2): {0}", _ Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2)) End Sub End Class ' 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): -1Hinweise
Diese Methode sucht eindimensionales Array aus dem Element am startIndex Ende des Arrays. Um zu ermitteln, ob value vorhanden ist, führt die Methode einen Gleichheitsvergleich arraydurch Aufrufen der T.Equals Methode für jedes Element aus. Dies bedeutet, dass wenn T die Equals Methode außer Kraft gesetzt wird, dass überschrieben wird.
Wenn startIndex die LengthMethode gleich ist, gibt die Methode -1 zurück. Wenn startIndex größer als Array.Lengthist, löst die Methode eine ArgumentOutOfRangeException.
Diese Methode ist ein O()-nVorgang, wobei n die Anzahl der Elemente vom startIndex Ende bis zum Ende ist array.
Siehe auch
- LastIndexOf
- Durchführen kulturunabhängiger Zeichenfolgenoperationen in Arrays
Gilt für
IndexOf<T>(T[], T, Int32, Int32)
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.
public: generic <typename T> static int IndexOf(cli::array <T> ^ array, T value, int startIndex, int count);public static int IndexOf<T> (T[] array, T value, int startIndex, int count);static member IndexOf : 'T[] * 'T * int * int -> intPublic Shared Function IndexOf(Of T) (array As T(), value As T, startIndex As Integer, count As Integer) As IntegerTypparameter
T
Der Typ der Elemente des Arrays.
Parameter
array T[]
Das zu durchsuchende eindimensionale und nullbasierte Array.
value T
Das in array zu suchende Objekt.
startIndex Int32
Der nullbasierte Startindex für die Suche. 0 (null) ist in einem leeren Array gültig.
count Int32
Die Anzahl der Elemente im zu durchsuchenden Abschnitt.
Gibt zurück
Int32Der nullbasierte Index des ersten Vorkommens von value innerhalb des Bereichs von Elementen im array, das beim startIndex beginnt und die in count angegebene Anzahl von Elementen enthält, sofern gefunden; andernfalls –1.
Ausnahmen
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.
Beispiele
Im folgenden Beispiel werden alle drei generischen Überladungen der IndexOf Methode veranschaulicht. Ein Array von Zeichenfolgen wird erstellt, wobei ein Eintrag, der zweimal angezeigt wird, an Indexspeicherort 0 und Indexspeicherort 5 angezeigt wird. Die IndexOf<T>(T[], T) Methodenüberladung sucht das Array von Anfang an und findet das erste Vorkommen der Zeichenfolge. Die IndexOf<T>(T[], T, Int32) Methodenüberladung wird verwendet, um das Array ab Indexspeicherort 3 zu durchsuchen und das Ende des Arrays fortzusetzen, und findet das zweite Vorkommen der Zeichenfolge. Schließlich wird die IndexOf<T>(T[], T, Int32, Int32) Methodenüberladung verwendet, um einen Bereich von zwei Einträgen zu durchsuchen, beginnend mit dem Indexspeicherort zwei; es gibt -1 zurück, da keine Instanzen der Suchzeichenfolge in diesem Bereich vorhanden sind.
using namespace System; void main() { array<String^>^ dinosaurs = { "Tyrannosaurus", "Amargasaurus", "Mamenchisaurus", "Brachiosaurus", "Deinonychus", "Tyrannosaurus", "Compsognathus" }; Console::WriteLine(); for each(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 */ 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 */ open System let dinosaurs = [| "Tyrannosaurus" "Amargasaurus" "Mamenchisaurus" "Brachiosaurus" "Deinonychus" "Tyrannosaurus" "Compsognathus" |] printfn "" for dino in dinosaurs do printfn $"{dino}" Array.IndexOf(dinosaurs, "Tyrannosaurus") |> printfn "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\"): %i" Array.IndexOf(dinosaurs, "Tyrannosaurus", 3) |> printfn "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\", 3): %i" Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2) |> printfn "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\", 2, 2): %i" // 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 Public Class Example Public Shared Sub Main() Dim dinosaurs() As String = { "Tyrannosaurus", _ "Amargasaurus", _ "Mamenchisaurus", _ "Brachiosaurus", _ "Deinonychus", _ "Tyrannosaurus", _ "Compsognathus" } Console.WriteLine() For Each dinosaur As String In dinosaurs Console.WriteLine(dinosaur) Next Console.WriteLine(vbLf & _ "Array.IndexOf(dinosaurs, ""Tyrannosaurus""): {0}", _ Array.IndexOf(dinosaurs, "Tyrannosaurus")) Console.WriteLine(vbLf & _ "Array.IndexOf(dinosaurs, ""Tyrannosaurus"", 3): {0}", _ Array.IndexOf(dinosaurs, "Tyrannosaurus", 3)) Console.WriteLine(vbLf & _ "Array.IndexOf(dinosaurs, ""Tyrannosaurus"", 2, 2): {0}", _ Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2)) End Sub End Class ' 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): -1Hinweise
Diese Methode durchsucht die Elemente eines eindimensionalen Arrays von startIndex startIndex count plus minus 1, wenn count größer als 0 ist. Um zu ermitteln, ob value vorhanden ist, führt die Methode einen Gleichheitsvergleich arraydurch Aufrufen der T.Equals Methode für jedes Element aus. Dies bedeutet, dass wenn T die Equals Methode außer Kraft gesetzt wird, dass überschrieben wird.
Wenn startIndex gleich Array.Length, gibt die Methode -1 zurück. Wenn startIndex größer als Array.Lengthist, löst die Methode eine ArgumentOutOfRangeException.
Diese Methode ist ein O()-nVorgang, wo n ist count.
Siehe auch
- LastIndexOf
- Durchführen kulturunabhängiger Zeichenfolgenoperationen in Arrays
Gilt für
IndexOf<T>(T[], T)
Sucht nach dem angegebenen Objekt und gibt den Index des ersten Vorkommens in einem eindimensionalen Array zurück.
public: generic <typename T> static int IndexOf(cli::array <T> ^ array, T value);public static int IndexOf<T> (T[] array, T value);static member IndexOf : 'T[] * 'T -> intPublic Shared Function IndexOf(Of T) (array As T(), value As T) As IntegerTypparameter
T
Der Typ der Elemente des Arrays.
Parameter
array T[]
Das zu durchsuchende eindimensionale und nullbasierte Array.
value T
Das in array zu suchende Objekt.
Gibt zurück
Int32Der nullbasierte Index des ersten Vorkommens von value im gesamten array, sofern gefunden, andernfalls –1.
Ausnahmen
Beispiele
Im folgenden Beispiel werden alle drei generischen Überladungen der IndexOf Methode veranschaulicht. Ein Array von Zeichenfolgen wird erstellt, wobei ein Eintrag, der zweimal angezeigt wird, an Indexspeicherort 0 und Indexspeicherort 5 angezeigt wird. Die IndexOf<T>(T[], T) Methodenüberladung sucht das Array von Anfang an und findet das erste Vorkommen der Zeichenfolge. Die IndexOf<T>(T[], T, Int32) Methodenüberladung wird verwendet, um das Array ab Indexspeicherort 3 zu durchsuchen und das Ende des Arrays fortzusetzen, und findet das zweite Vorkommen der Zeichenfolge. Schließlich wird die IndexOf<T>(T[], T, Int32, Int32) Methodenüberladung verwendet, um einen Bereich von zwei Einträgen zu durchsuchen, beginnend mit dem Indexspeicherort zwei; es gibt -1 zurück, da keine Instanzen der Suchzeichenfolge in diesem Bereich vorhanden sind.
using namespace System; void main() { array<String^>^ dinosaurs = { "Tyrannosaurus", "Amargasaurus", "Mamenchisaurus", "Brachiosaurus", "Deinonychus", "Tyrannosaurus", "Compsognathus" }; Console::WriteLine(); for each(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 */ 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 */ open System let dinosaurs = [| "Tyrannosaurus" "Amargasaurus" "Mamenchisaurus" "Brachiosaurus" "Deinonychus" "Tyrannosaurus" "Compsognathus" |] printfn "" for dino in dinosaurs do printfn $"{dino}" Array.IndexOf(dinosaurs, "Tyrannosaurus") |> printfn "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\"): %i" Array.IndexOf(dinosaurs, "Tyrannosaurus", 3) |> printfn "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\", 3): %i" Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2) |> printfn "\nArray.IndexOf(dinosaurs, \"Tyrannosaurus\", 2, 2): %i" // 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 Public Class Example Public Shared Sub Main() Dim dinosaurs() As String = { "Tyrannosaurus", _ "Amargasaurus", _ "Mamenchisaurus", _ "Brachiosaurus", _ "Deinonychus", _ "Tyrannosaurus", _ "Compsognathus" } Console.WriteLine() For Each dinosaur As String In dinosaurs Console.WriteLine(dinosaur) Next Console.WriteLine(vbLf & _ "Array.IndexOf(dinosaurs, ""Tyrannosaurus""): {0}", _ Array.IndexOf(dinosaurs, "Tyrannosaurus")) Console.WriteLine(vbLf & _ "Array.IndexOf(dinosaurs, ""Tyrannosaurus"", 3): {0}", _ Array.IndexOf(dinosaurs, "Tyrannosaurus", 3)) Console.WriteLine(vbLf & _ "Array.IndexOf(dinosaurs, ""Tyrannosaurus"", 2, 2): {0}", _ Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2)) End Sub End Class ' 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): -1Hinweise
Diese Methode sucht alle Elemente eines eindimensionalen Arrays nach value. Um zu ermitteln, ob value vorhanden ist, führt die Methode einen Gleichheitsvergleich arraydurch Aufrufen der T.Equals Methode für jedes Element aus. Dies bedeutet, dass wenn T die Equals Methode außer Kraft gesetzt wird, dass überschrieben wird.
Diese Methode ist ein O()-nVorgang, wo n dies der Length Fall arrayist.
Siehe auch
- LastIndexOf
- Durchführen kulturunabhängiger Zeichenfolgenoperationen in Arrays