Bagikan melalui


VBuffer<T> Struktur

Definisi

Buffer yang mendukung representasi padat dan jarang. Ini adalah jenis representasi untuk semua VectorDataViewType instans. Nilai yang ditentukan secara eksplisit dari vektor ini diekspos melalui GetValues() dan, jika tidak padat, 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)

Jenis parameter

T

Jenis vektor. Tidak ada batasan waktu kompilasi pada apa yang bisa terjadi, tetapi kode ini dan hampir semua kode yang menggunakan VBuffer<T> membuat asumsi bahwa penugasan nilai cukup untuk membuat salinan yang sepenuhnya independen darinya. Jadi, misalnya, ini berarti bahwa buffer buffer tidak dimungkinkan. Tapi, hal-hal seperti Int32, Single, dan ReadOnlyMemory<T>, benar-benar baik-baik saja.

Warisan
VBuffer<T>
Penerapan

Keterangan

Struktur ini dengan sendirinya tidak dapat diubah, tetapi untuk mengaktifkan pengeditan buffer termasuk penggunaan kembali buffer internal, varian VBufferEditor<T> yang dapat diubah dapat diakses melalui VBuffer<T>.

Sepanjang kode, kami membuat asumsi bahwa jarang VBuffer<T> secara logis setara dengan padat VBuffer<T> dengan nilai default untuk T mengisi nilai default.

Konstruktor

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

Buat representasi vektor yang mungkin jarang.

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

Buat representasi padat. Array indices sering kali tidak ditentukan, tetapi jika ditentukan, array harus dianggap sebagai buffer untuk ditahan, kemungkinan akan digunakan.

Bidang

Length

Panjang logis buffer.

Properti

IsDense

Mendapatkan nilai yang menunjukkan apakah setiap elemen logis secara eksplisit diwakili dalam buffer.

Metode

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

Salin dari bagian array sumber ke tujuan tertentu.

CopyTo(Span<T>)

Salin dari buffer ini ke rentang tujuan yang diberikan. Ini "menyangkal."

CopyTo(Span<T>, Int32, T)

Salin dari buffer ini ke rentang tujuan yang diberikan, dimulai dari indeks yang ditentukan. Ini "menyangkal."

CopyTo(VBuffer<T>)

Salin dari buffer ini ke tujuan yang diberikan.

CopyTo(VBuffer<T>, Int32, Int32)

Salin rentang nilai dari buffer ini ke tujuan tertentu.

CopyToDense(VBuffer<T>)

Salin dari buffer ini ke tujuan tertentu, memaksa representasi padat.

DenseValues()

Mengembalikan yang dapat dijumlahkan dengan Length item, yang mewakili nilai.

GetEnumerator()

Mengembalikan enumerator yang melakukan iterasi melalui nilai di VBuffer.

GetIndices()

Indeksnya. Untuk representasi padat, array ini tidak digunakan, dan akan mengembalikan rentang "kosong" default. Untuk representasi jarang itu paralel dengan yang dikembalikan dari GetValues() dan menentukan indeks logis untuk nilai yang sesuai, dalam urutan yang meningkat, antara 0 inklusif dan Length eksklusif, sesuai dengan semua nilai yang ditentukan secara eksplisit. Semua nilai pada indeks yang tidak ditentukan harus diperlakukan sebagai didefinisikan secara implisit dengan nilai Tdefault .

GetItemOrDefault(Int32)

Varian GetItemOrDefault(Int32, T) yang mengembalikan nilai alih-alih meneruskannya kembali menggunakan parameter referensi.

GetItemOrDefault(Int32, T)

Mendapatkan item yang disimpan dalam struktur ini. Dalam kasus vektor padat, ini adalah pencarian sederhana. Dalam kasus vektor jarang, ia akan mencoba menemukan entri dengan indeks tersebut, dan mengatur ke nilai tersimpan destination tersebut, atau jika tidak ada nilai seperti itu yang ditemukan, tetapkan nilai default.

GetValues()

Nilai yang diwakili secara eksplisit. Ketika ini IsDense, Length dari nilai yang dikembalikan akan sama dengan Length, dan jika tidak, akan memiliki panjang kurang dari Length.

Items(Boolean)

Mengembalikan daftar gabungan dari semua pasangan indeks/nilai.

ToString()

Buffer yang mendukung representasi padat dan jarang. Ini adalah jenis representasi untuk semua VectorDataViewType instans. Nilai yang ditentukan secara eksplisit dari vektor ini diekspos melalui GetValues() dan, jika tidak padat, GetIndices().

Berlaku untuk