Bagikan melalui


ReadOnlyTensorSpan<T> Struktur

Definisi

ReadOnlyTensorSpan mewakili wilayah memori arbitrer yang berdekatan. Tidak seperti array, ia dapat menunjuk ke memori terkelola atau asli, atau ke memori yang dialokasikan pada tumpukan. Ini adalah jenis-aman dan memori-aman.

generic <typename T>
public value class ReadOnlyTensorSpan
[System.Diagnostics.CodeAnalysis.Experimental("SYSLIB5001", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public readonly ref struct ReadOnlyTensorSpan<T>
[<System.Diagnostics.CodeAnalysis.Experimental("SYSLIB5001", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type ReadOnlyTensorSpan<'T> = struct
Public Structure ReadOnlyTensorSpan(Of T)

Jenis parameter

T
Warisan
ReadOnlyTensorSpan<T>
Atribut

Konstruktor

ReadOnlyTensorSpan<T>(Array)

Membuat ReadOnlyTensorSpan<T> baru melalui Arrayyang disediakan. ReadOnlyTensorSpan<T> baru akan memiliki peringkat 1 dan panjang yang sama dengan panjang Arrayyang disediakan.

ReadOnlyTensorSpan<T>(Array, ReadOnlySpan<Int32>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

Membuat ReadOnlyTensorSpan<T> baru melalui Array yang disediakan menggunakan offset, panjang, dan langkah awal yang ditentukan. Jika langkah-langkah tidak disediakan, langkah tersebut akan dihitung secara otomatis.

ReadOnlyTensorSpan<T>(Array, ReadOnlySpan<NIndex>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

Membuat ReadOnlyTensorSpan<T> baru melalui Array yang disediakan menggunakan offset, panjang, dan langkah awal yang ditentukan. Jika langkah-langkah tidak disediakan, langkah tersebut akan dihitung secara otomatis.

ReadOnlyTensorSpan<T>(ReadOnlySpan<T>)

Membuat ReadOnlyTensorSpan<T> baru melalui ReadOnlySpan<T>yang disediakan. ReadOnlyTensorSpan<T> baru akan memiliki peringkat 1 dan panjang yang sama dengan panjang ReadOnlySpan<T>yang disediakan.

ReadOnlyTensorSpan<T>(ReadOnlySpan<T>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

Membuat ReadOnlyTensorSpan<T> baru di atas Span<T> yang disediakan menggunakan panjang dan langkah yang ditentukan. Jika langkah-langkah tidak disediakan, langkah tersebut akan dihitung secara otomatis.

ReadOnlyTensorSpan<T>(T*, IntPtr)

Membuat rentang baru di atas buffer target yang tidak dikelola. Jelas ini cukup berbahaya panjangnya tidak diperiksa. Tetapi jika pembuatan ini benar, maka semua penggunaan berikutnya sudah benar.

ReadOnlyTensorSpan<T>(T*, IntPtr, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

Membuat rentang baru di atas buffer target yang tidak dikelola. Jelas ini cukup berbahaya, karena panjangnya tidak diperiksa. Tetapi jika pembuatan ini benar, maka semua penggunaan berikutnya sudah benar.

ReadOnlyTensorSpan<T>(T[])

Membuat rentang baru di atas keseluruhan array target.

ReadOnlyTensorSpan<T>(T[], Index, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

Membuat rentang baru di atas bagian array target yang dimulai pada indeks 'start' dan berakhir di indeks 'end' (eksklusif).

ReadOnlyTensorSpan<T>(T[], Int32, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

Membuat rentang baru di atas bagian array target yang dimulai pada indeks 'start' dan berakhir di indeks 'end' (eksklusif).

Properti

Empty

Mengembalikan rentang baca-saja dengan panjang 0 yang dasarnya adalah penunjuk null.

FlattenedLength

Jumlah item dalam rentang.

IsEmpty

Mendapatkan nilai yang menunjukkan apakah TensorSpan<T> ini kosong.

Item[ReadOnlySpan<IntPtr>]

Mengembalikan referensi ke elemen yang ditentukan dari ReadOnlyTensorSpan.

Item[ReadOnlySpan<NIndex>]

Mengembalikan referensi ke elemen yang ditentukan dari ReadOnlyTensorSpan.

Item[ReadOnlySpan<NRange>]

Mengembalikan sepotong ReadOnlyTensorSpan.

Lengths

Mendapatkan panjang setiap dimensi dalam TensorSpan<T>ini.

Rank

Mendapatkan peringkat, alias jumlah dimensi, dari TensorSpan<T>ini .

Strides

Mendapatkan langkah-langkah dari TensorSpan<T> ini

Metode

CastUp<TDerived>(ReadOnlyTensorSpan<TDerived>)

Melemparkan rentang TDerived baca-saja ke rentang baca-saja T.

CopyTo(TensorSpan<T>)

Menyalin isi rentang baca-saja ini ke dalam rentang tujuan. Jika sumber dan tujuan tumpang tindih, metode ini berulah seolah-olah nilai asli di lokasi sementara sebelum tujuan ditimpa.

Equals(Object)
Kedaluwarsa.

Metode ini tidak didukung karena rentang tidak dapat dikotak. Untuk membandingkan dua rentang, gunakan operator==.

FlattenTo(Span<T>)

Meratakan isi rentang ini ke dalam Span<T>yang disediakan.

GetEnumerator()

Mendapatkan enumerator untuk rentang ini.

GetHashCode()
Kedaluwarsa.

Metode ini tidak didukung karena rentang tidak dapat dikotak.

GetPinnableReference()

Mengembalikan referensi ke elemen ke-0 dari ReadOnlyTensorSpan. Jika ReadOnlyTensorSpan kosong, mengembalikan referensi null. Ini dapat digunakan untuk menyematkan dan diperlukan untuk mendukung penggunaan rentang dalam pernyataan tetap.

Slice(ReadOnlySpan<NIndex>)

Mengembalikan referensi ke elemen tensorSpan yang ditentukan.

Slice(ReadOnlySpan<NRange>)

Membentuk iringan dari rentang yang diberikan

ToString()

Mengembalikan String dengan nama jenis dan jumlah elemen.

TryCopyTo(TensorSpan<T>)

Menyalin isi rentang baca-saja ini ke dalam rentang tujuan. Jika sumber dan tujuan tumpang tindih, metode ini berulah seolah-olah nilai asli di lokasi sementara sebelum tujuan ditimpa.

TryFlattenTo(Span<T>)

Meratakan isi rentang ini ke dalam Span<T>yang disediakan.

Operator

Equality(ReadOnlyTensorSpan<T>, ReadOnlyTensorSpan<T>)

Mengembalikan true jika titik kiri dan kanan pada memori yang sama dan memiliki panjang yang sama. Perhatikan bahwa ini tidak tidak memeriksa untuk melihat apakah konten sama.

Implicit(T[] to ReadOnlyTensorSpan<T>)

ReadOnlyTensorSpan mewakili wilayah memori arbitrer yang berdekatan. Tidak seperti array, ia dapat menunjuk ke memori terkelola atau asli, atau ke memori yang dialokasikan pada tumpukan. Ini adalah jenis-aman dan memori-aman.

Inequality(ReadOnlyTensorSpan<T>, ReadOnlyTensorSpan<T>)

Mengembalikan false jika titik kiri dan kanan pada memori yang sama dan memiliki panjang yang sama. Perhatikan bahwa ini tidak tidak memeriksa untuk melihat apakah konten sama.

Metode Ekstensi

BroadcastTo<T>(ReadOnlyTensorSpan<T>, TensorSpan<T>)

Siarkan data dari source ke destination.

Reshape<T>(ReadOnlyTensorSpan<T>, ReadOnlySpan<IntPtr>)

Menyusun ulang tensor tensor ke lengthsyang ditentukan . Jika salah satu panjangnya adalah -1, panjangnya akan dihitung secara otomatis. Tidak mengubah panjang memori yang mendasar atau tidak mengalokasikan memori baru. Jika bentuk baru tidak kompatibel dengan bentuk lama, pengecualian akan dilemparkan.

SequenceEqual<T>(ReadOnlyTensorSpan<T>, ReadOnlyTensorSpan<T>)

Menentukan apakah dua urutan sama dengan membandingkan elemen menggunakan IEquatable{T}. Sama dengan(T).

Squeeze<T>(ReadOnlyTensorSpan<T>)

Menghapus semua dimensi panjang satu dari tensor.

SqueezeDimension<T>(ReadOnlyTensorSpan<T>, Int32)

Menghapus sumbu panjang satu dari tensor untuk dimensionyang diberikan. Jika dimensi tidak panjang, dimensi akan melemparkan pengecualian.

ToString<T>(ReadOnlyTensorSpan<T>, ReadOnlySpan<IntPtr>)

Membuat representasi String dari ReadOnlyTensorSpan<T>." />

TryBroadcastTo<T>(ReadOnlyTensorSpan<T>, TensorSpan<T>)

Siarkan data dari tensor ke bentuk terkecil yang dapat disiarkan yang kompatibel dengan destination dan menyimpannya di destination Jika bentuk tidak kompatibel, false dikembalikan.

Unsqueeze<T>(ReadOnlyTensorSpan<T>, Int32)

Sisipkan dimensi baru dengan panjang 1 yang akan muncul pada posisi dimensi.

Berlaku untuk