(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

Array.IndexOf-Methode (Array, Object, Int32, Int32)

Sucht nach dem angegebenen Objekt und gibt den Index des ersten Vorkommens innerhalb des Bereichs von Elementen im eindimensionalen Array zurück, der am angegebenen Index beginnt und die angegebene Anzahl von Elementen enthält.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)
public static int IndexOf(
	Array array,
	Object value,
	int startIndex,
	int count
)

Parameter

array
Typ: System.Array
Das zu durchsuchende eindimensionale Array.
value
Typ: System.Object
Das in array zu suchende Objekt.
startIndex
Typ: System.Int32
Der Startindex für die Suche. 0 (null) ist in einem leeren Array gültig.
count
Typ: System.Int32
Die Anzahl der Elemente im zu durchsuchenden Abschnitt.

Rückgabewert

Typ: System.Int32
Der Index des ersten Vorkommens von value im Bereich von Elementen in array, der bei startIndex beginnt und die durch count angegebene Anzahl von Elementen enthält, sofern gefunden, andernfalls die untere Grenze des Arrays - 1.
AusnahmeBedingung
ArgumentNullException

array ist null.

ArgumentOutOfRangeException

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

- oder -

count ist kleiner als 0 (null).

- oder -

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

RankException

array ist mehrdimensional.

Das eindimensionale Array wird in Vorwärtsrichtung von startIndex bis startIndex plus count minus 1 durchsucht, wenn count größer als 0 ist.

Die Elemente werden unter Verwendung der Object.Equals-Methode mit dem angegebenen Wert verglichen. Wenn der Elementtyp kein systeminterner Typ, sondern benutzerdefiniert ist, wird die Equals-Implementierung dieses Typs verwendet.

Da Arrays meist eine untere Grenze von 0 haben, gibt diese Methode im Allgemeinen –1 zurück, wenn value nicht gefunden wurde. In dem seltenen Fall, dass die untere Grenze des Arrays gleich Int32.MinValue ist und value nicht gefunden wird, gibt diese Methode Int32.MaxValue zurück, was System.Int32.MinValue - 1 entspricht.

Das Übergeben der Length des Arrays als startindex ergibt den Rückgabewert -1, während größere Werte als Length eine ArgumentOutOfRangeException auslösen.

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

In .NET Framework, Version 2.0, verwendet diese Methode die Equals-Methode und die CompareTo-Methode von Array, um zu ermitteln, ob das im value-Parameter angegebene Object vorhanden ist. In früheren Versionen von .NET Framework wurden die Equals-Methode und die CompareTo-Methode des value-Object selbst für diese Bestimmung verwendet.

Im folgenden Codebeispiel wird gezeigt, wie der Index des ersten Vorkommens eines angegebenen Elements bestimmt wird.


using System;
public class SamplesArray  {

   public static void Main()  {

      // Creates and initializes a new Array with three elements of the same value.
      Array myArray=Array.CreateInstance( typeof(String), 12 );
      myArray.SetValue( "the", 0 );
      myArray.SetValue( "quick", 1 );
      myArray.SetValue( "brown", 2 );
      myArray.SetValue( "fox", 3 );
      myArray.SetValue( "jumps", 4 );
      myArray.SetValue( "over", 5 );
      myArray.SetValue( "the", 6 );
      myArray.SetValue( "lazy", 7 );
      myArray.SetValue( "dog", 8 );
      myArray.SetValue( "in", 9 );
      myArray.SetValue( "the", 10 );
      myArray.SetValue( "barn", 11 );

      // Displays the values of the Array.
      Console.WriteLine( "The Array contains the following values:" );
      PrintIndexAndValues( myArray );

      // Searches for the first occurrence of the duplicated value.
      String myString = "the";
      int myIndex = Array.IndexOf( myArray, myString );
      Console.WriteLine( "The first occurrence of \"{0}\" is at index {1}.", myString, myIndex );

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

      // Searches for the first occurrence of the duplicated value in a section of the Array.
      myIndex = Array.IndexOf( myArray, myString, 6, 5 );
      Console.WriteLine( "The first occurrence of \"{0}\" between index 6 and index 10 is at index {1}.", myString, myIndex );
   }


   public static void PrintIndexAndValues( Array myArray )  {
      for ( int i = myArray.GetLowerBound(0); i <= myArray.GetUpperBound(0); i++ )
         Console.WriteLine( "\t[{0}]:\t{1}", i, myArray.GetValue( i ) );
   }
}
/*
This code produces 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 6 and index 10 is at index 6.
*/


.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

Es werden nicht alle Versionen sämtlicher Plattformen von .NET Framework unterstützt.. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Vielen Dank für Ihr Feedback.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft. Alle Rechte vorbehalten.