(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.LastIndexOf-Methode (Array, Object)

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

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

public static int LastIndexOf(
	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 letzten 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 rückwärts durchsucht, d. h., der Suchvorgang beginnt beim letzten Element und endet beim ersten 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.

CompareTo -Methoden des item-Parameters der Objekte in der Auflistung.

Im folgenden Codebeispiel wird gezeigt, wie der Index des letzten Vorkommens eines angegebenen Elements in einem Array 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 last occurrence of the duplicated value.
      String myString = "the";
      int myIndex = Array.LastIndexOf( myArray, myString );
      Console.WriteLine( "The last occurrence of \"{0}\" is at index {1}.", myString, myIndex );

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

      // Searches for the last occurrence of the duplicated value in a section of the Array.
      // Note that the start index is greater than the end index because the search is done backward.
      myIndex = Array.LastIndexOf( myArray, myString, 10, 6 );
      Console.WriteLine( "The last occurrence of \"{0}\" between index 5 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 last occurrence of "the" is at index 10.
The last occurrence of "the" between the start and index 8 is at index 6.
The last occurrence of "the" between index 5 and index 10 is at index 10.
*/


.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