Freigeben über


VBuffer<T>.GetItemOrDefault Methode

Definition

Überlädt

GetItemOrDefault(Int32)

Eine Variante von GetItemOrDefault(Int32, T) , die den Wert zurückgibt, anstatt ihn mithilfe eines Verweisparameters zurück zu übergeben.

GetItemOrDefault(Int32, T)

Ruft das in dieser Struktur gespeicherte Element ab. Im Fall eines dichten Vektors ist dies eine einfache Suche. Im Fall eines Sparsevektors wird versucht, den Eintrag mit diesem Index zu finden, und auf diesen gespeicherten Wert festgelegt destination , oder wenn kein solcher Wert gefunden wurde, weisen Sie ihm den Standardwert zu.

GetItemOrDefault(Int32)

Eine Variante von GetItemOrDefault(Int32, T) , die den Wert zurückgibt, anstatt ihn mithilfe eines Verweisparameters zurück zu übergeben.

public T GetItemOrDefault (int index);
member this.GetItemOrDefault : int -> 'T
Public Function GetItemOrDefault (index As Integer) As T

Parameter

index
Int32

Der Index, der eine nicht negative Zahl kleiner als Lengthsein muss.

Gibt zurück

T

Der wert, der in diesem Index gespeichert ist, oder wenn es sich um einen Sparsevektor handelt, bei dem es sich um einen impliziten Eintrag handelt, ist der Standardwert für T.

Gilt für:

GetItemOrDefault(Int32, T)

Ruft das in dieser Struktur gespeicherte Element ab. Im Fall eines dichten Vektors ist dies eine einfache Suche. Im Fall eines Sparsevektors wird versucht, den Eintrag mit diesem Index zu finden, und auf diesen gespeicherten Wert festgelegt destination , oder wenn kein solcher Wert gefunden wurde, weisen Sie ihm den Standardwert zu.

public void GetItemOrDefault (int index, ref T destination);
member this.GetItemOrDefault : int * 'T -> unit
Public Sub GetItemOrDefault (index As Integer, ByRef destination As T)

Parameter

index
Int32

Der Index, der eine nicht negative Zahl kleiner als Lengthsein muss.

destination
T

Der wert, der in diesem Index gespeichert ist, oder wenn es sich um einen Sparsevektor handelt, bei dem es sich um einen impliziten Eintrag handelt, ist der Standardwert für T.

Hinweise

In dem Fall, an dem IsDense sich befindet true, dauert dies konstant, da es direkt nachschlagen wird. Da bei Sparsevektoren jedoch eine Bisectionssuche für die Indizes durchgeführt werden muss, um den entsprechenden Wert zu finden, benötigt dies logarithmische Zeit in Bezug auf die Anzahl der explizit dargestellten Elemente, d. h. das Length des Rückgabewerts von GetIndices().

Aus diesem Grund ist eine einzelne vollständig isolierte Suche, da das Erstellen ReadOnlySpan<T> wie GetValues() kein freier Vorgang ist, kann es effizienter sein, diese Methode zu verwenden. Wenn man jedoch eine komplexere Berechnung mit vielen Vorgängen durchführt, kann es schneller sein, und gegebenenfalls GetIndices() direkt zu verwendenGetValues().

Gilt für: