VBuffer<T> Struktura
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vyrovnávací paměť, která podporuje hustá i řídká vyjádření. Toto je typ reprezentace pro všechny VectorDataViewType instance. Explicitně definované hodnoty tohoto vektoru jsou vystaveny prostřednictvím GetValues() a, pokud nejsou hustá, 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 vektoru. Neexistují žádná omezení v době kompilace, co by to mohlo být, ale tento kód a prakticky veškerý kód, který používá VBuffer<T> , předpokládá, že přiřazení hodnoty stačí k vytvoření její zcela nezávislé kopie. To například znamená, že vyrovnávací paměť není možná. Ale věci jako Int32, Singlea ReadOnlyMemory<T>jsou naprosto v pořádku.
- Dědičnost
-
VBuffer<T>
- Implementuje
Poznámky
Tato struktura je sama o sobě neměnná, ale pokud chcete povolit úpravy vyrovnávací paměti včetně opakovaného použití interních vyrovnávacích pamětí, je možné prostřednictvím získat přístup k proměnlivé variantě VBufferEditor<T>VBuffer<T>.
V celém kódu předpokládáme, že zhuštěná VBuffer<T> hodnota logicky odpovídá hustotě VBuffer<T> s výchozí hodnotou pro T
vyplnění výchozích hodnot.
Konstruktory
VBuffer<T>(Int32, Int32, T[], Int32[]) |
Vytvořte pravděpodobně řídké vektorové znázornění. |
VBuffer<T>(Int32, T[], Int32[]) |
Vytvořte hustou reprezentaci. Pole |
Pole
Length |
Logická délka vyrovnávací paměti. |
Vlastnosti
IsDense |
Získá hodnotu označující, zda každý logický prvek je explicitně reprezentován ve vyrovnávací paměti. |
Metody
Copy(T[], Int32, VBuffer<T>, Int32) |
Zkopírujte z oddílu zdrojového pole do daného cíle. |
CopyTo(Span<T>) |
Zkopírujte z této vyrovnávací paměti do daného cílového rozsahu. To "zatěžuje". |
CopyTo(Span<T>, Int32, T) |
Zkopírujte z této vyrovnávací paměti do daného cílového rozsahu počínaje zadaným indexem. To "zatěžuje". |
CopyTo(VBuffer<T>) |
Zkopírujte z této vyrovnávací paměti do daného cíle. |
CopyTo(VBuffer<T>, Int32, Int32) |
Zkopírujte rozsah hodnot z této vyrovnávací paměti do daného cíle. |
CopyToDense(VBuffer<T>) |
Zkopírujte z této vyrovnávací paměti do daného cíle a vynucujte hustou reprezentaci. |
DenseValues() |
Vrátí výčet s položkami Length představujícími hodnoty. |
GetEnumerator() |
Vrátí enumerátor, který iteruje prostřednictvím hodnot v souboru VBuffer. |
GetIndices() |
Indexy. Pro hustou reprezentaci se toto pole nepoužívá a vrátí výchozí prázdný rozsah.
V případě řídké reprezentace je tato reprezentace paralelní k vrácené z GetValues() a určuje logické indexy pro odpovídající hodnoty ve vzestupném pořadí, mezi 0 včetně a Length s výhradním přístupem, které odpovídají všem explicitně definovaným hodnotám. Všechny hodnoty v neurčeném indexu by měly být považovány za implicitně definované s výchozí hodnotou |
GetItemOrDefault(Int32) |
Varianta , GetItemOrDefault(Int32, T) která vrací hodnotu místo předání zpět pomocí parametru odkazu. |
GetItemOrDefault(Int32, T) |
Získá položku uloženou v této struktuře. V případě hustého vektoru se jedná o jednoduché vyhledávání.
V případě zhuštěného vektoru se pokusí najít položku s tímto indexem a nastavit |
GetValues() |
Explicitně reprezentované hodnoty. V takovém IsDensepřípadě Length bude vrácená hodnota rovna Lengtha jinak bude mít délku menší než Length. |
Items(Boolean) |
Vrátí společný seznam všech dvojic index/hodnota. |
ToString() |
Vyrovnávací paměť, která podporuje hustá i řídká vyjádření. Toto je typ reprezentace pro všechny VectorDataViewType instance. Explicitně definované hodnoty tohoto vektoru jsou vystaveny prostřednictvím GetValues() a, pokud nejsou hustá, GetIndices(). |