(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

Array.IndexOf-Methode (Array, Object)

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

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

public static int IndexOf(
	Array array,
	Object value
)

Parameter

array
Typ: System.Array
Das zu durchsuchende eindimensionale Array.
value
Typ: System.Object
Das in array zu suchende Objekt.

Rückgabewert

Typ: System.Int32
Der Index des ersten Vorkommens von value im gesamten array, sofern gefunden, andernfalls die untere Grenze des Arrays - 1.

AusnahmeBedingung
ArgumentNullException

array ist null.

RankException

array ist mehrdimensional.

Das eindimensionale Array wird vorwärts durchsucht, d. h., der Suchvorgang beginnt beim ersten Element und endet beim letzten Element.

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.

Diese Methode ist eine O(n)-Operation, wobei n die Length von array 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.2, 4.5.1, 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

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 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)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft