Condividi tramite


VBuffer<T>.GetItemOrDefault Metodo

Definizione

Overload

GetItemOrDefault(Int32)

Variante di che restituisce il valore anziché passarlo nuovamente usando un parametro di GetItemOrDefault(Int32, T) riferimento.

GetItemOrDefault(Int32, T)

Ottiene l'elemento archiviato in questa struttura. Nel caso di un vettore denso, questa è una semplice ricerca. Nel caso di un vettore sparse, tenterà di trovare la voce con tale indice e impostata destination su tale valore archiviato oppure se non è stato trovato alcun valore di questo tipo, assegnarlo al valore predefinito.

GetItemOrDefault(Int32)

Variante di che restituisce il valore anziché passarlo nuovamente usando un parametro di GetItemOrDefault(Int32, T) riferimento.

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

Parametri

index
Int32

Indice, che deve essere un numero non negativo minore di Length.

Restituisce

T

Valore archiviato in tale indice o se si tratta di un vettore sparse in cui si tratta di una voce implicita, il valore predefinito per T.

Si applica a

GetItemOrDefault(Int32, T)

Ottiene l'elemento archiviato in questa struttura. Nel caso di un vettore denso, questa è una semplice ricerca. Nel caso di un vettore sparse, tenterà di trovare la voce con tale indice e impostata destination su tale valore archiviato oppure se non è stato trovato alcun valore di questo tipo, assegnarlo al valore predefinito.

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

Parametri

index
Int32

Indice, che deve essere un numero non negativo minore di Length.

destination
T

Valore archiviato in tale indice o se si tratta di un vettore sparse in cui si tratta di una voce implicita, il valore predefinito per T.

Commenti

Nel caso in cui IsDense è true, questo richiederà tempo costante perché è una ricerca diretta. Per i vettori sparse, tuttavia, perché deve eseguire una ricerca bisezione sugli indici per trovare il valore appropriato, che richiede tempo logaritmico rispetto al numero di elementi rappresentati in modo esplicito, ovvero il Length valore restituito di GetIndices().

Per questo motivo, una singola ricerca isolata, poiché la costruzione ReadOnlySpan<T>GetValues() come non è un'operazione gratuita, può essere più efficiente usare questo metodo. Tuttavia, se si esegue un calcolo più coinvolto che coinvolge molte operazioni, potrebbe essere più veloce usare GetValues() e, se appropriato, GetIndices() direttamente.

Si applica a