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默认值。

注解

在 为 true的情况下IsDense,这需要恒定的时间,因为它是直接查找。 但是,对于稀疏向量,因为它必须对索引执行二部分搜索才能找到适当的值,这需要相对于显式表示的项数(即 Length 的返回值的 )的 GetIndices()对数时间。

出于此原因,单个完全隔离的查找,因为按 方式GetValues()构造ReadOnlySpan<T>不是自由操作,因此使用此方法可能更有效。 但是,如果一个人正在执行涉及许多操作的更多涉及的计算,则使用起来可能更快,并在适当GetIndices()的情况下直接使用GetValues()

适用于