VBuffer<T> Yapı
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Hem yoğun hem de seyrek gösterimleri destekleyen bir arabellek. Bu, tüm VectorDataViewType örnekler için 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ğine ilişkin derleme zamanı kısıtlamaları yoktur, ancak bu kod ve hemen hemen kullanan VBuffer<T> tüm kod, bir değerin atamasının tamamen bağımsız bir kopyasını oluşturmak için yeterli olduğu varsayımını verir. 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ı tek başına sabittir, ancak iç arabelleklerin yeniden kullanılması da 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 mantıksal olarak bir yoğun VBuffer<T> değere eşdeğer olduğu varsayımını yaparız.
Oluşturucular
VBuffer<T>(Int32, Int32, T[], Int32[]) |
Muhtemelen seyrek bir vektör gösterimi oluşturma. |
VBuffer<T>(Int32, T[], Int32[]) |
Yoğun bir temsil oluşturma. Dizi |
Alanlar
Length |
Arabelleğin mantıksal uzunluğu. |
Özellikler
IsDense |
Her mantıksal öğenin arabellekte açıkça temsil edilip edilmediğini belirten bir değer alır. |
Yöntemler
Copy(T[], Int32, VBuffer<T>, Int32) |
Kaynak dizinin bir bölümünden verilen hedefe kopyalayın. |
CopyTo(Span<T>) |
Bu arabellekten verilen hedef yayılmaya kopyalayın. Bu "reddeder." |
CopyTo(Span<T>, Int32, T) |
Belirtilen dizinden başlayarak bu arabellekten verilen hedef yayılmaya kopyalayın. Bu "reddeder." |
CopyTo(VBuffer<T>) |
Bu arabellekten verilen hedefe kopyalayın. |
CopyTo(VBuffer<T>, Int32, Int32) |
Bu arabellekten verilen hedefe bir değer aralığı kopyalayın. |
CopyToDense(VBuffer<T>) |
Bu arabellekten belirli bir hedefe kopyalayın ve yoğun bir temsili 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() |
Endeksler. Yoğun bir gösterim için bu dizi kullanılmaz ve varsayılan "boş" yayılmayı döndürür.
Seyrek 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 dışlama arasında artan sırada belirtir. Belirtilmemiş dizinlerdeki tüm değerler, varsayılan değeriyle |
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 |
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 değerinden küçük Lengthbir uzunluğa sahip olur. |
Items(Boolean) |
Tüm dizin/değer çiftlerinin birleşik listesini döndürür. |
ToString() |
Hem yoğun hem de seyrek gösterimleri destekleyen bir arabellek. Bu, tüm VectorDataViewType örnekler için 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. |