Dil

VBuffer<T> Yapı

Tanım

Hem yoğun hem de seyrek gösterimleri destekleyen bir arabellek. Bu, tüm VectorDataViewType örneklerin gösterim türüdür. Bu vektörünün açıkça tanımlanmış değerleri ve , yoğun GetIndices()değilse aracılığıyla GetValues() kullanıma sunulur.

public readonly struct VBuffer<T> : System.Collections.IEnumerable
public readonly struct VBuffer<T>
type VBuffer<'T> = struct
    interface IEnumerable
type VBuffer<'T> = struct
Public Structure VBuffer(Of T)
Implements IEnumerable
Public Structure VBuffer(Of T)

Tür Parametreleri

T

Vektör türü. Bunun ne olabileceğiyle ilgili derleme zamanı kısıtlamaları yoktur, ancak bu kod ve hemen hemen kullanan VBuffer<T> tüm kodlar, bir değerin atamasının tamamen bağımsız bir kopyasını oluşturmak için yeterli olduğu varsayımını yapar. Bu nedenle, örneğin, bu arabellek arabelleğinin mümkün olmadığı anlamına gelir. Ancak, , Singleve ReadOnlyMemory<T>gibi Int32şeyler tamamen iyidir.

Devralma
VBuffer<T>
Uygulamalar

Açıklamalar

Bu yapı kendi başına sabittir, ancak iç arabelleklerin yeniden kullanılması dahil olmak üzere arabellek düzenlemeyi etkinleştirmek için, aracılığıyla VBuffer<T>değiştirilebilir bir değişkene VBufferEditor<T> erişilebilir.

Kod boyunca, bir seyrek VBuffer<T> değerin varsayılan değerleri doldurmak için T varsayılan değerle yoğun VBuffer<T> bir değere mantıksal olarak eşdeğer olduğu varsayımını yaparız.

Oluşturucular

Name Description
VBuffer<T>(Int32, Int32, T[], Int32[])

Büyük olasılıkla seyrek vektör gösterimi oluşturma.

VBuffer<T>(Int32, T[], Int32[])

Yoğun bir gösterim oluşturma. Dizi indices genellikle belirtilmez, ancak belirtilirse, büyük olasılıkla kullanılmak üzere, üzerinde tutulacak bir arabellek olarak kabul edilmelidir.

Alanlar

Name Description
Length

Arabelleğin mantıksal uzunluğu.

Özellikler

Name Description
IsDense

Her mantıksal öğenin arabellekte açıkça temsil edilip edilmediğini belirten bir değer alır.

Yöntemler

Name Description
Copy(T[], Int32, VBuffer<T>, Int32)

Kaynak dizinin bir bölümünden verilen hedefe kopyalayın.

CopyTo(Span<T>, Int32, T)

Belirtilen dizinden başlayarak bu arabellekten verilen hedef yayılma noktasına kopyalayın. Bu "reddeder."

CopyTo(Span<T>)

Bu arabellekten verilen hedef yayılma noktasına kopyalayın. Bu "reddeder."

CopyTo(VBuffer<T>, Int32, Int32)

Bu arabellekten verilen hedefe bir değer aralığı kopyalayın.

CopyTo(VBuffer<T>)

Bu arabellekten verilen hedefe kopyalayın.

CopyToDense(VBuffer<T>)

Bu arabellekten belirli bir hedefe kopyalayın ve yoğun bir gösterimi zorlar.

DenseValues()

Değerleri temsil eden öğelerle Length numaralandırılabilir bir değer döndürür.

GetEnumerator()

VBuffer'daki değerler arasında yineleyen bir numaralandırıcı döndürür.

GetIndices()

Dizinler. Yoğun bir gösterim için bu dizi kullanılmaz ve varsayılan "boş" aralığı döndürür. Seyrek bir gösterim için, bu değerden GetValues() döndürülene paraleldir ve karşılık gelen değerlerin mantıksal dizinlerini, açıkça tanımlanan tüm değerlere karşılık gelen 0 dahil ve Length özel değer arasında artan sırada belirtir. Belirtilmemiş dizinlerdeki tüm değerler, varsayılan değeriyle Törtük olarak tanımlanmış olarak ele alınmalıdı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 değeri geri geçirmek yerine değerini döndürür.

GetValues()

Açıkça temsil edilen değerler. Bu IsDenseolduğunda, Length döndürülen değerin değeri değerine eşit Lengtholur ve aksi takdirde uzunluğu değerinden Lengthküçük olur.

Items(Boolean)

Tüm dizin/değer çiftlerinin ortak listesini döndürür.

ToString()

Hem yoğun hem de seyrek gösterimleri destekleyen bir arabellek. Bu, tüm VectorDataViewType örneklerin gösterim türüdür. Bu vektörünün açıkça tanımlanmış değerleri ve , yoğun GetIndices()değilse aracılığıyla GetValues() kullanıma sunulur.

Şunlara uygulanır