VBuffer<T> Struktura
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Bufor obsługujący zarówno gęste, jak i rozrzedłe reprezentacje. Jest to typ reprezentacji dla wszystkich VectorDataViewType wystąpień. Jawnie zdefiniowane wartości tego wektora są uwidocznione przez i GetValues() , jeśli nie są gęste, GetIndices().
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)
Parametry typu
- T
Typ wektora. Nie ma żadnych ograniczeń czasu kompilacji dotyczących tego, co może być, ale ten kod i praktycznie cały kod, który używa VBuffer<T> , sprawia, że założenie, że przypisanie wartości jest wystarczające do całkowitej niezależnej kopii. Oznacza to na przykład, że bufor buforów nie jest możliwy. Ale takie rzeczy jak Int32, Singlei ReadOnlyMemory<T>, są całkowicie dobre.
- Dziedziczenie
-
VBuffer<T>
- Implementuje
Uwagi
Ta struktura jest sama niezmienna, ale aby umożliwić edycję buforu, w tym ponowne użycie buforów wewnętrznych, można uzyskać dostęp do wariantu VBufferEditor<T> modyfikowalnego za pośrednictwem programu VBuffer<T>.
W całym kodzie przyjmujemy założenie, że rozrzedzanie VBuffer<T> jest logicznie równoważne gęstej VBuffer<T> z wartością domyślną do T
wypełniania wartości domyślnych.
Konstruktory
VBuffer<T>(Int32, Int32, T[], Int32[]) |
Skonstruuj ewentualnie rozrzedliwą reprezentację wektora. |
VBuffer<T>(Int32, T[], Int32[]) |
Konstruowanie gęstej reprezentacji. Tablica |
Pola
Length |
Długość logiczna buforu. |
Właściwości
IsDense |
Pobiera wartość wskazującą, czy każdy element logiczny jest jawnie reprezentowany w buforze. |
Metody
Copy(T[], Int32, VBuffer<T>, Int32) |
Skopiuj z sekcji tablicy źródłowej do danego miejsca docelowego. |
CopyTo(Span<T>) |
Skopiuj z tego buforu do danego zakresu docelowego. To "zagęszczenie". |
CopyTo(Span<T>, Int32, T) |
Skopiuj z tego buforu do danego zakresu docelowego, zaczynając od określonego indeksu. To "zagęszczenie". |
CopyTo(VBuffer<T>) |
Skopiuj z tego buforu do danego miejsca docelowego. |
CopyTo(VBuffer<T>, Int32, Int32) |
Skopiuj zakres wartości z tego buforu do danego miejsca docelowego. |
CopyToDense(VBuffer<T>) |
Skopiuj z tego buforu do danego miejsca docelowego, wymuszając gęstą reprezentację. |
DenseValues() |
Zwraca wyliczenie z elementami Length reprezentującymi wartości. |
GetEnumerator() |
Zwraca moduł wyliczający, który iteruje wartości w usłudze VBuffer. |
GetIndices() |
Indeksy. W przypadku gęstej reprezentacji ta tablica nie jest używana i zwróci domyślny zakres "pusty".
W przypadku reprezentacji rozrzedzonej jest równoległa do zwracanej z GetValues() i określa logiczne indeksy odpowiednich wartości w kolejności rosnącej z przedziału od 0 Length do wykluczania odpowiadającego wszystkim jawnie zdefiniowanym wartościom. Wszystkie wartości w nieokreślonych indeksach powinny być traktowane jako niejawnie zdefiniowane z wartością domyślną . |
GetItemOrDefault(Int32) |
Wariant tego GetItemOrDefault(Int32, T) zwraca wartość zamiast przekazywać ją z powrotem przy użyciu parametru referencyjnego. |
GetItemOrDefault(Int32, T) |
Pobiera element przechowywany w tej strukturze. W przypadku gęstego wektora jest to proste wyszukiwanie.
W przypadku wektora rozrzednego spróbuje znaleźć wpis z tym indeksem i ustawić |
GetValues() |
Jawnie reprezentowane wartości. W przypadku tej IsDensewartości zwracana Length wartość będzie równa Length, a w przeciwnym razie długość będzie mniejsza niż Length. |
Items(Boolean) |
Zwraca wspólną listę wszystkich par indeksu/wartości. |
ToString() |
Bufor obsługujący zarówno gęste, jak i rozrzedłe reprezentacje. Jest to typ reprezentacji dla wszystkich VectorDataViewType wystąpień. Jawnie zdefiniowane wartości tego wektora są uwidocznione przez i GetValues() , jeśli nie są gęste, GetIndices(). |