次の方法で共有


VBuffer<T>.GetItemOrDefault メソッド

定義

オーバーロード

GetItemOrDefault(Int32)

参照パラメーターを使用して返すのではなく、値を返す のバリアント型 GetItemOrDefault(Int32, T)

GetItemOrDefault(Int32, T)

この構造体に格納されている項目を取得します。 高密度ベクトルの場合、これは単純なルックアップです。 スパース ベクターの場合は、そのインデックスを持つエントリを検索し、その格納された値に設定 destination するか、そのような値が見つからない場合は、既定値を割り当てます。

GetItemOrDefault(Int32)

参照パラメーターを使用して返すのではなく、値を返す のバリアント型 GetItemOrDefault(Int32, T)

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

パラメーター

index
Int32

インデックス。負以外の数値を より Length小さくする必要があります。

戻り値

T

そのインデックスに格納されている値、またはこれが暗黙的なエントリであるスパース ベクターの場合は、 の T既定値です。

適用対象

GetItemOrDefault(Int32, T)

この構造体に格納されている項目を取得します。 高密度ベクトルの場合、これは単純なルックアップです。 スパース ベクターの場合は、そのインデックスを持つエントリを検索し、その格納された値に設定 destination するか、そのような値が見つからない場合は、既定値を割り当てます。

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

パラメーター

index
Int32

インデックス。負以外の数値を より Length小さくする必要があります。

destination
T

そのインデックスに格納されている値、またはこれが暗黙的なエントリであるスパース ベクターの場合は、 の T既定値です。

注釈

IsDensetrueの場合、これは直接参照されるため、一定の時間がかかります。 ただし、スパース ベクトルの場合、適切な値を見つけるためにインデックスに対して二分検索を実行する必要があるため、明示的に表される項目の数 (つまり Length 、 の戻り値 GetIndices()の ) に対して対数時間がかかります。

そのため、1つの完全に分離されたルックアップは、のようにGetValues()構築ReadOnlySpan<T>することは自由な操作ではないため、このメソッドを使用する方が効率的な場合がある。 ただし、多くの操作を伴うより複雑な計算を行っている場合は、適切なGetIndices()場合は直接、より高速に利用GetValues()できます。

適用対象