Auf Englisch lesen

Freigeben über


Array.IndexOf Methode

Definition

Sucht das angegebene Objekt und gibt den Index seines ersten Auftretens in einem eindimensionalen Array oder in einem Elementbereich im Array zurück.

Ü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)

Quelle:
Array.cs
Quelle:
Array.cs
Quelle:
Array.cs

Sucht nach dem angegebenen Objekt und gibt den Index des ersten Vorkommens in einem eindimensionalen Array zurück.

public static int IndexOf (Array array, object value);
public static int IndexOf (Array array, object? value);

Parameter

array
Array

Das zu durchsuchende eindimensionale Array.

value
Object

Das in array zu suchende Objekt.

Gibt zurück

Der Index des ersten Vorkommens von value in array, sofern gefunden, andernfalls die untere Grenze des Arrays minus 1.

Ausnahmen

array ist null.

array ist mehrdimensional.

Beispiele

Im Beispiel werden die folgenden drei Überladungen der IndexOf -Methode aufgerufen, um den Index einer Zeichenfolge in einem Zeichenfolgenarray zu suchen:

  • 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 zum letzten Element eines Zeichenfolgenarrays zu bestimmen.

  • IndexOf(Array, Object, Int32, Int32), um das erste Vorkommen der Zeichenfolge "the" in einem Zeichenfolgenarray von dem Element zu bestimmen, das auf die letzte erfolgreiche Übereinstimmung folgt, bis zum Ende des Arrays.

// Create a string array with 3 elements having the same value.
String[] strings = { "the", "quick", "brown", "fox", "jumps",
                     "over", "the", "lazy", "dog", "in", "the",
                     "barn" };

// Display the elements of the array.
Console.WriteLine("The array contains the following values:");
for (int i = strings.GetLowerBound(0); i <= strings.GetUpperBound(0); i++)
   Console.WriteLine("   [{0,2}]: {1}", i, strings[i]);

// Search for the first occurrence of the duplicated value.
string searchString = "the";
int index = Array.IndexOf(strings, searchString);
Console.WriteLine("The first occurrence of \"{0}\" is at index {1}.",
                  searchString, index);

// Search for the first occurrence of the duplicated value in the last section of the array.
index = Array.IndexOf(strings, searchString, 4);
Console.WriteLine("The first occurrence of \"{0}\" between index 4 and the end is at index {1}.",
                  searchString, index);

// Search for the first occurrence of the duplicated value in a section of the array.
int position = index + 1;
index = Array.IndexOf(strings, searchString, position, strings.GetUpperBound(0) - position + 1);
Console.WriteLine("The first occurrence of \"{0}\" between index {1} and index {2} is at index {3}.",
                  searchString, position, strings.GetUpperBound(0), index);

// The example displays the following output:
//    The array contains the following values:
//       [ 0]: the
//       [ 1]: quick
//       [ 2]: brown
//       [ 3]: fox
//       [ 4]: jumps
//       [ 5]: over
//       [ 6]: the
//       [ 7]: lazy
//       [ 8]: dog
//       [ 9]: in
//       [10]: the
//       [11]: barn
//    The first occurrence of "the" is at index 0.
//    The first occurrence of "the" between index 4 and the end is at index 6.
//    The first occurrence of "the" between index 7 and index 11 is at index 10.

Hinweise

Diese Methode durchsucht alle Elemente eines eindimensionalen Arrays nach value. Um zu bestimmen, ob value in arrayvorhanden ist, führt die -Methode einen Gleichheitsvergleich durch, indem sie die Methode jedes Equals Elements aufruft, bis sie eine Übereinstimmung findet. Dies bedeutet, dass diese Überschreibung aufgerufen wird, wenn das -Element die Object.Equals(Object) -Methode außer Kraft setzt.

Da die meisten Arrays eine Untergrenze von 0 aufweisen, gibt diese Methode im Allgemeinen -1 zurück, wennvalue nicht gefunden wird. In dem seltenen Fall, dass die Untergrenze des Arrays gleich Int32.MinValue(0x80000000) ist und value nicht gefunden wird, gibt diese Methode (0x7FFFFFFF) zurück Int32.MaxValue .

Diese Methode ist ein O()n-Vorgang, wobei n der Length von arrayist.

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
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 1.1, 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

IndexOf(Array, Object, Int32)

Quelle:
Array.cs
Quelle:
Array.cs
Quelle:
Array.cs

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, object value, int startIndex);
public static int IndexOf (Array array, object? value, int startIndex);

Parameter

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

Der 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

array ist null.

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 suchen:

  • 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 zum letzten Element eines Zeichenfolgenarrays zu bestimmen.

  • IndexOf(Array, Object, Int32, Int32), um das erste Vorkommen der Zeichenfolge "the" in einem Zeichenfolgenarray von dem Element zu bestimmen, das auf die letzte erfolgreiche Übereinstimmung folgt, bis zum Ende des Arrays.

// Create a string array with 3 elements having the same value.
String[] strings = { "the", "quick", "brown", "fox", "jumps",
                     "over", "the", "lazy", "dog", "in", "the",
                     "barn" };

// Display the elements of the array.
Console.WriteLine("The array contains the following values:");
for (int i = strings.GetLowerBound(0); i <= strings.GetUpperBound(0); i++)
   Console.WriteLine("   [{0,2}]: {1}", i, strings[i]);

// Search for the first occurrence of the duplicated value.
string searchString = "the";
int index = Array.IndexOf(strings, searchString);
Console.WriteLine("The first occurrence of \"{0}\" is at index {1}.",
                  searchString, index);

// Search for the first occurrence of the duplicated value in the last section of the array.
index = Array.IndexOf(strings, searchString, 4);
Console.WriteLine("The first occurrence of \"{0}\" between index 4 and the end is at index {1}.",
                  searchString, index);

// Search for the first occurrence of the duplicated value in a section of the array.
int position = index + 1;
index = Array.IndexOf(strings, searchString, position, strings.GetUpperBound(0) - position + 1);
Console.WriteLine("The first occurrence of \"{0}\" between index {1} and index {2} is at index {3}.",
                  searchString, position, strings.GetUpperBound(0), index);

// The example displays the following output:
//    The array contains the following values:
//       [ 0]: the
//       [ 1]: quick
//       [ 2]: brown
//       [ 3]: fox
//       [ 4]: jumps
//       [ 5]: over
//       [ 6]: the
//       [ 7]: lazy
//       [ 8]: dog
//       [ 9]: in
//       [10]: the
//       [11]: barn
//    The first occurrence of "the" is at index 0.
//    The first occurrence of "the" between index 4 and the end is at index 6.
//    The first occurrence of "the" between index 7 and index 11 is at index 10.

Hinweise

Diese Methode durchsucht ein eindimensionales Array vom Element am Index startIndex bis zum letzten Element. Um zu bestimmen, ob value in arrayvorhanden ist, führt die -Methode einen Gleichheitsvergleich durch, indem sie die Equals Methode jedes Elements aufruft, bis sie eine Übereinstimmung findet. Dies bedeutet, dass diese Überschreibung aufgerufen wird, wenn das -Element die Object.Equals(Object) -Methode außer Kraft setzt.

Da die meisten Arrays eine Untergrenze von 0 aufweisen, gibt diese Methode im Allgemeinen -1 zurück, wenn value nicht gefunden wird. In dem seltenen Fall, dass die Untergrenze des Arrays gleich Int32.MinValue(0x80000000) ist und value nicht gefunden wird, gibt diese Methode (0x7FFFFFFF) zurück Int32.MaxValue .

Wenn startIndex gleich Array.Lengthist, gibt die -1-Methode zurück. Wenn startIndex größer als Array.Lengthist, löst die -Methode einen aus ArgumentOutOfRangeException.

Bei dieser Methode handelt es sich um einen O(n)-Vorgang, bei dem n die Anzahl der Elemente von bis startIndex zum Ende von angegeben arrayist.

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
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 1.1, 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

IndexOf(Array, Object, Int32, Int32)

Quelle:
Array.cs
Quelle:
Array.cs
Quelle:
Array.cs

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, object value, int startIndex, int count);
public static int IndexOf (Array array, object? value, int startIndex, int count);

Parameter

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

Der 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

array ist null.

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 suchen:

  • 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 zum letzten Element eines Zeichenfolgenarrays zu bestimmen.

  • IndexOf(Array, Object, Int32, Int32), um das erste Vorkommen der Zeichenfolge "the" in einem Zeichenfolgenarray von dem Element zu bestimmen, das auf die letzte erfolgreiche Übereinstimmung folgt, bis zum Ende des Arrays. Um den Wert des count Arguments zu bestimmen, subtrahiert es die obergrenze des Arrays vom Startindex und fügt eine hinzu.

// Create a string array with 3 elements having the same value.
String[] strings = { "the", "quick", "brown", "fox", "jumps",
                     "over", "the", "lazy", "dog", "in", "the",
                     "barn" };

// Display the elements of the array.
Console.WriteLine("The array contains the following values:");
for (int i = strings.GetLowerBound(0); i <= strings.GetUpperBound(0); i++)
   Console.WriteLine("   [{0,2}]: {1}", i, strings[i]);

// Search for the first occurrence of the duplicated value.
string searchString = "the";
int index = Array.IndexOf(strings, searchString);
Console.WriteLine("The first occurrence of \"{0}\" is at index {1}.",
                  searchString, index);

// Search for the first occurrence of the duplicated value in the last section of the array.
index = Array.IndexOf(strings, searchString, 4);
Console.WriteLine("The first occurrence of \"{0}\" between index 4 and the end is at index {1}.",
                  searchString, index);

// Search for the first occurrence of the duplicated value in a section of the array.
int position = index + 1;
index = Array.IndexOf(strings, searchString, position, strings.GetUpperBound(0) - position + 1);
Console.WriteLine("The first occurrence of \"{0}\" between index {1} and index {2} is at index {3}.",
                  searchString, position, strings.GetUpperBound(0), index);

// The example displays the following output:
//    The array contains the following values:
//       [ 0]: the
//       [ 1]: quick
//       [ 2]: brown
//       [ 3]: fox
//       [ 4]: jumps
//       [ 5]: over
//       [ 6]: the
//       [ 7]: lazy
//       [ 8]: dog
//       [ 9]: in
//       [10]: the
//       [11]: barn
//    The first occurrence of "the" is at index 0.
//    The first occurrence of "the" between index 4 and the end is at index 6.
//    The first occurrence of "the" between index 7 and index 11 is at index 10.

Hinweise

Diese Methode durchsucht die Elemente eines eindimensionalen Arrays von startIndex plus countstartIndex minus 1, wenn count größer als 0 ist. Um zu bestimmen, ob value in arrayvorhanden ist, führt die -Methode einen Gleichheitsvergleich durch, indem sie die Equals Methode jedes Elements aufruft, bis sie eine Übereinstimmung findet. Dies bedeutet, dass diese Überschreibung aufgerufen wird, wenn das -Element die Object.Equals -Methode außer Kraft setzt.

Da die meisten Arrays eine Untergrenze von 0 haben, gibt diese Methode in der Regel -1 zurück, wenn value nicht gefunden wird. In dem seltenen Fall, dass die Untergrenze des Arrays gleich Int32.MinValue (0x80000000) ist und value nicht gefunden wird, gibt diese Methode (0x7FFFFFFF) zurück Int32.MaxValue .

Wenn startindex gleich Array.Lengthist, gibt die -1-Methode zurück. Wenn startIndex größer als Array.Lengthist, löst die -Methode einen aus ArgumentOutOfRangeException.

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

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
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 1.1, 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

IndexOf<T>(T[], T, Int32)

Quelle:
Array.cs
Quelle:
Array.cs
Quelle:
Array.cs

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 static int IndexOf<T> (T[] array, T value, int startIndex);

Typparameter

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

Der 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

array ist null.

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. Es wird ein Array von Zeichenfolgen mit einem Eintrag erstellt, der zweimal an Der Indexposition 0 und dem Indexspeicherort 5 angezeigt wird. Die IndexOf<T>(T[], T) Methodenüberladung durchsucht 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 Indexposition 3 und weiter bis zum Ende des Arrays zu durchsuchen und das zweite Vorkommen der Zeichenfolge zu finden. Schließlich wird die IndexOf<T>(T[], T, Int32, Int32) Methodenüberladung verwendet, um einen Bereich von zwei Einträgen zu durchsuchen, beginnend am Indexspeicherort 2. Sie gibt -1 zurück, da es in diesem Bereich keine Instanzen der Suchzeichenfolge gibt.

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
*/

Hinweise

Diese Methode durchsucht ein eindimensionales Array vom Element am startIndex Ende des Arrays. Um zu bestimmen, ob value in arrayvorhanden ist, führt die -Methode einen Gleichheitsvergleich durch, indem die T.Equals -Methode für jedes Element aufgerufen wird. Dies bedeutet, dass, wenn T die Equals -Methode überschrieben wird, diese Überschreibung aufgerufen wird.

Wenn startIndex gleich ist Length, gibt die -Methode -1 zurück. Wenn startIndex größer als Array.Lengthist, löst die -Methode eine aus ArgumentOutOfRangeException.

Diese Methode ist ein O(n)-Vorgang, wobei n die Anzahl der Elemente von bis startIndex zum Ende von arrayist.

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
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

IndexOf<T>(T[], T, Int32, Int32)

Quelle:
Array.cs
Quelle:
Array.cs
Quelle:
Array.cs

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 static int IndexOf<T> (T[] array, T value, int startIndex, int count);

Typparameter

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

Der 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

array ist null.

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. Es wird ein Array von Zeichenfolgen erstellt, wobei ein Eintrag zweimal an Indexposition 0 und Indexposition 5 angezeigt wird. Die IndexOf<T>(T[], T) Methodenüberladung durchsucht 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 Indexposition 3 und weiter bis zum Ende des Arrays zu durchsuchen und das zweite Vorkommen der Zeichenfolge zu finden. Schließlich wird die IndexOf<T>(T[], T, Int32, Int32) Methodenüberladung verwendet, um einen Bereich von zwei Einträgen zu durchsuchen, beginnend bei Indexposition zwei. Sie gibt -1 zurück, da in diesem Bereich keine Instanzen der Suchzeichenfolge vorhanden sind.

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
*/

Hinweise

Diese Methode durchsucht die Elemente eines eindimensionalen Arrays von startIndex plus countstartIndex minus 1, wenn count größer als 0 ist. Um zu bestimmen, ob value in arrayvorhanden ist, führt die -Methode einen Gleichheitsvergleich durch, indem die T.Equals -Methode für jedes Element aufgerufen wird. Dies bedeutet, dass, wenn T die Equals -Methode überschrieben wird, diese Überschreibung aufgerufen wird.

Wenn startIndex gleich Array.Lengthist, gibt die -Methode -1 zurück. Wenn startIndex größer als Array.Lengthist, löst die -Methode eine aus ArgumentOutOfRangeException.

Bei dieser Methode handelt es sich um einen O(n)-Vorgang, wobei n ist count.

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
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

IndexOf<T>(T[], T)

Quelle:
Array.cs
Quelle:
Array.cs
Quelle:
Array.cs

Sucht nach dem angegebenen Objekt und gibt den Index des ersten Vorkommens in einem eindimensionalen Array zurück.

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

Typparameter

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

Der nullbasierte Index des ersten Vorkommens von value im gesamten array, sofern gefunden, andernfalls –1.

Ausnahmen

array ist null.

Beispiele

Im folgenden Beispiel werden alle drei generischen Überladungen der IndexOf -Methode veranschaulicht. Es wird ein Array von Zeichenfolgen erstellt, wobei ein Eintrag zweimal an Indexposition 0 und Indexposition 5 angezeigt wird. Die IndexOf<T>(T[], T) Methodenüberladung durchsucht 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 Indexposition 3 und weiter bis zum Ende des Arrays zu durchsuchen und das zweite Vorkommen der Zeichenfolge zu finden. Schließlich wird die IndexOf<T>(T[], T, Int32, Int32) Methodenüberladung verwendet, um einen Bereich von zwei Einträgen zu durchsuchen, beginnend bei Indexposition zwei. Sie gibt -1 zurück, da in diesem Bereich keine Instanzen der Suchzeichenfolge vorhanden sind.

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
*/

Hinweise

Diese Methode durchsucht alle Elemente eines eindimensionalen Arrays nach value. Um zu bestimmen, ob value in arrayvorhanden ist, führt die -Methode einen Gleichheitsvergleich durch, indem die T.Equals -Methode für jedes Element aufgerufen wird. Dies bedeutet, dass, wenn T die Equals -Methode überschrieben wird, diese Überschreibung aufgerufen wird.

Diese Methode ist ein O(n)-Vorgang, wobei n der Length von arrayist.

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
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