BinarySearch(T) Methode (T[], Int32, Int32, T)
Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Array.BinarySearch<T>-Methode (T[], Int32, Int32, T)

 

Durchsucht einen Bereich von Elementen in einem sortierten eindimensionalen Array nach einem Wert, mithilfe der generischen Schnittstelle IComparable<T>, die von jedem Element des Array und durch den angegebenen Wert implementiert wird.

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

public static int BinarySearch<T>(
	T[] array,
	int index,
	int length,
	T value
)

Parameter

array

Das zu durchsuchende sortierte eindimensionale und nullbasierte Array.

index

Der Startindex des zu durchsuchenden Bereichs.

length

Die Länge des zu durchsuchenden Bereichs.

value

Das Objekt, nach dem gesucht werden soll.

Rückgabewert

Type: System.Int32

Der Index des angegebenen value im angegebenen array, sofern value gefunden wurde.Wenn value nicht gefunden wurde und value kleiner als ein oder mehr Elemente in array ist, eine negative Zahl, die das bitweise Komplement des Index des ersten Elements darstellt, das größer als value ist.Eine negative Zahl, die das bitweise Komplement von Index des letzten Elements + 1 darstellt, wenn value nicht gefunden wurde und value größer als alle Elemente in array ist.

Typparameter

T

Der Typ der Elemente des Arrays.

Exception Condition
ArgumentNullException

array ist null.

ArgumentOutOfRangeException

index ist kleiner als die untere Grenze von array.

- oder -

length ist kleiner als Null.

ArgumentException

index und length geben keinen gültigen Bereich in array an.

- oder -

Der Typ von value ist nicht mit den Elementen von array kompatibel.

InvalidOperationException

T implementiert die generische IComparable<T>-Schnittstelle nicht.

Diese Methode unterstützt keine Suchen von Arrays, die negative Indizes enthalten. arraymuss vor dem Aufrufen dieser Methode sortiert werden.

Wenn das Array nicht den angegebenen Wert enthält, gibt die Methode eine negative ganze Zahl zurück.Sie können den bitweisen Komplementoperator anwenden (~ in c# Not in Visual Basic) auf das negative Ergebnis um einen Index zu erstellen.Wenn dieser Index gleich der Größe des Arrays ist, sind keine Elemente größer als value im Array.Andernfalls wird der Index des ersten Elements, das größer ist als value.

Timplementieren, müssen die IComparable<T> generische Schnittstelle, die für Vergleiche verwendet wird.Die Elemente der array muss bereits entsprechend der Sortierreihenfolge von definierten aufsteigend sortiert werden die IComparable<T> Implementierung. Andernfalls kann das Ergebnis falsch sein.

Doppelte Elemente sind zulässig.Wenn die Array enthält mehr als ein Element, das value, die Methode gibt den Index des nur ein vorkommen, aber nicht unbedingt zuerst.

nullkann immer mit beliebigen Referenztypen verglichen werden. Daher geben Vergleiche mit null keine Ausnahme generiert.

System_CAPS_noteHinweis

Für jedes Element getestet value übergeben wird, an die entsprechende IComparable<T> Implementierung, selbst wenn value ist null.Das heißt, die IComparable<T> Implementierung bestimmt, wie ein bestimmtes Element im Vergleich zu null.

Diese Methode ist ein O(log n)-Vorgang, in dem n ist length.

Universal Windows Platform
Verfügbar seit 4.5
.NET Framework
Verfügbar seit 2.0
Portable Class Library
Unterstützt in: portable .NET platforms
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen:
© 2016 Microsoft