VBuffer<T>.GetItemOrDefault Yöntem

Tanım

Aşırı Yüklemeler

GetItemOrDefault(Int32)

Bunun bir GetItemOrDefault(Int32, T) değişkeni, bir başvuru parametresi kullanarak geri geçirmek yerine değeri döndürür.

GetItemOrDefault(Int32, T)

Bu yapıda depolanan öğeyi alır. Yoğun bir vektör söz konusu olduğunda bu basit bir aramadır. Seyrek vektör söz konusu olduğunda, bu dizine sahip girişi bulmaya çalışır ve bu depolanmış değere ayarlanır destination veya böyle bir değer bulunmadıysa, varsayılan değeri atayın.

GetItemOrDefault(Int32)

Bunun bir GetItemOrDefault(Int32, T) değişkeni, bir başvuru parametresi kullanarak geri geçirmek yerine değeri döndürür.

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

Parametreler

index
Int32

değerinden küçük Lengthnegatif olmayan bir sayı olması gereken dizin.

Döndürülenler

T

Bu dizinde depolanan değer veya bu örtük bir giriş olan seyrek bir vektörse için varsayılan değerdir T.

Şunlara uygulanır

GetItemOrDefault(Int32, T)

Bu yapıda depolanan öğeyi alır. Yoğun bir vektör söz konusu olduğunda bu basit bir aramadır. Seyrek vektör söz konusu olduğunda, bu dizine sahip girişi bulmaya çalışır ve bu depolanmış değere ayarlanır destination veya böyle bir değer bulunmadıysa, varsayılan değeri atayın.

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

Parametreler

index
Int32

değerinden küçük Lengthnegatif olmayan bir sayı olması gereken dizin.

destination
T

Bu dizinde depolanan değer veya bu örtük bir giriş olan seyrek bir vektörse için varsayılan değerdir T.

Açıklamalar

olduğu IsDensetruedurumlarda, doğrudan arama olduğundan bu işlem sabit bir zaman alır. Ancak seyrek vektörler için, uygun değeri bulmak için dizinlerde bir bisection araması gerçekleştirmesi gerektiğinden, açıkça temsil edilen öğelerin sayısına göre logaritmik zaman alır; yani Length değerinin dönüş değeri GetIndices().

Bu nedenle, tek bir tamamen yalıtılmış arama, olduğu gibi GetValues() oluşturmak ReadOnlySpan<T> ücretsiz bir işlem olmadığından, bu yöntemi kullanmak daha verimli olabilir. Ancak, bir işlem birçok işlemi kapsayan daha ilgili bir hesaplama yapıyorsa, doğrudan ve GetIndices() kullanmak GetValues() daha hızlı olabilir.

Şunlara uygulanır