ReadOnlySpan<T> Struktur

Definisi

Menyediakan representasi baca-saja yang aman untuk jenis dan memori dari wilayah memori arbitrer yang berdekatan.

generic <typename T>
public value class ReadOnlySpan
public readonly ref struct ReadOnlySpan<T>
[System.Runtime.InteropServices.Marshalling.NativeMarshalling(typeof(System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller<,>))]
public readonly ref struct ReadOnlySpan<T>
type ReadOnlySpan<'T> = struct
[<System.Runtime.InteropServices.Marshalling.NativeMarshalling(typeof(System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller<,>))>]
type ReadOnlySpan<'T> = struct
Public Structure ReadOnlySpan(Of T)

Jenis parameter

T

Jenis item di ReadOnlySpan<T>.

Warisan
ReadOnlySpan<T>
Atribut

Keterangan

ReadOnlySpan<T> adalah struktur ref yang dialokasikan pada tumpukan dan tidak pernah dapat melarikan diri ke tumpukan terkelola. Jenis struct ref memiliki sejumlah batasan untuk memastikan bahwa mereka tidak dapat dipromosikan ke tumpukan terkelola, termasuk bahwa mereka tidak dapat dikotak, ditangkap dalam ekspresi lambda, ditetapkan ke variabel jenis Object, ditetapkan ke dynamic variabel, dan mereka tidak dapat mengimplementasikan jenis antarmuka apa pun.

Instans ReadOnlySpan<T> sering digunakan untuk mereferensikan elemen array atau sebagian array. Namun, tidak seperti array, ReadOnlySpan<T> instans dapat menunjuk ke memori terkelola, memori asli, atau memori yang dikelola pada tumpukan.

Konstruktor

ReadOnlySpan<T>(T)

Membuat baru ReadOnlySpan<T> panjang 1 di sekitar referensi yang ditentukan.

ReadOnlySpan<T>(T[])

Membuat yang baru ReadOnlySpan<T> di atas keseluruhan array tertentu.

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

Membuat baru ReadOnlySpan<T> yang menyertakan sejumlah elemen array tertentu yang dimulai pada indeks tertentu.

ReadOnlySpan<T>(Void*, Int32)

Membuat baru ReadOnlySpan<T> dari sejumlah T elemen tertentu yang dimulai dari alamat memori tertentu.

Properti

Empty

Mengembalikan kosong ReadOnlySpan<T>.

IsEmpty

Mengembalikan nilai yang menunjukkan rentang baca-saja saat ini kosong.

Item[Int32]

Mendapatkan item dari rentang baca-saja pada indeks berbasis nol yang ditentukan.

Length

Jumlah item dalam rentang baca-saja.

Metode

CastUp<TDerived>(ReadOnlySpan<TDerived>)

Menyediakan representasi baca-saja yang aman untuk jenis dan memori dari wilayah memori arbitrer yang berdekatan.

CopyTo(Span<T>)

Menyalin isi ini ReadOnlySpan<T> ke tujuan Span<T>.

Equals(Object)
Kedaluwarsa.
Kedaluwarsa.

Tidak didukung. Melempar .NotSupportedException

GetEnumerator()

Mengembalikan enumerator untuk ini ReadOnlySpan<T>.

GetHashCode()
Kedaluwarsa.

Tidak didukung. Melempar .NotSupportedException

GetPinnableReference()

Mengembalikan referensi baca-saja ke objek tipe T yang dapat digunakan untuk penyematan.

Metode ini dimaksudkan untuk mendukung pengkompilasi .NET dan tidak dimaksudkan untuk dipanggil oleh kode pengguna.

Slice(Int32)

Membentuk ikatan dari rentang baca-saja saat ini yang dimulai pada indeks tertentu.

Slice(Int32, Int32)

Membentuk ikatan dari rentang baca-saja saat ini mulai dari indeks tertentu untuk panjang yang ditentukan.

ToArray()

Menyalin isi rentang baca-saja ini ke dalam array baru.

ToString()

Mengembalikan representasi string dari ini ReadOnlySpan<T>.

TryCopyTo(Span<T>)

Mencoba menyalin isi ini ReadOnlySpan<T> ke dalam Span<T> dan mengembalikan nilai untuk menunjukkan apakah operasi berhasil atau tidak.

Operator

Equality(ReadOnlySpan<T>, ReadOnlySpan<T>)

Mengembalikan nilai yang menunjukkan apakah dua ReadOnlySpan<T> instans sama.

Implicit(ArraySegment<T> to ReadOnlySpan<T>)

Mendefinisikan konversi implisit dari ke ArraySegment<T>ReadOnlySpan<T>.

Implicit(T[] to ReadOnlySpan<T>)

Menentukan konversi implisit array ke ReadOnlySpan<T>.

Inequality(ReadOnlySpan<T>, ReadOnlySpan<T>)

Mengembalikan nilai yang menunjukkan apakah dua ReadOnlySpan<T> instans tidak sama.

Metode Ekstensi

ToImmutableArray<T>(ReadOnlySpan<T>)

Menghasilkan array konten yang tidak dapat diubah dari elemen tertentu.

BinarySearch<T>(ReadOnlySpan<T>, IComparable<T>)

Mencari seluruh yang diurutkan ReadOnlySpan<T> untuk nilai menggunakan antarmuka generik yang ditentukan IComparable<T> .

BinarySearch<T,TComparer>(ReadOnlySpan<T>, T, TComparer)

Mencari seluruh yang diurutkan ReadOnlySpan<T> untuk nilai tertentu menggunakan jenis generik yang ditentukan TComparer .

BinarySearch<T,TComparable>(ReadOnlySpan<T>, TComparable)

Mencari seluruh yang diurutkan ReadOnlySpan<T> untuk nilai menggunakan jenis generik yang ditentukan TComparable .

CommonPrefixLength<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Menemukan panjang awalan umum yang dibagikan antara span dan other.

CommonPrefixLength<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>)

Menentukan panjang awalan umum yang dibagikan antara span dan other.

Contains<T>(ReadOnlySpan<T>, T)

Menunjukkan apakah nilai yang ditentukan ditemukan dalam rentang baca-saja. Nilai dibandingkan menggunakan IEquatable{T}. Sama dengan(T).

ContainsAny<T>(ReadOnlySpan<T>, T, T)

Mencari kemunculan value0 atau value1, dan mengembalikan true jika ditemukan. Jika tidak ditemukan, mengembalikan false.

ContainsAny<T>(ReadOnlySpan<T>, T, T, T)

Mencari kemunculan value0, , value1atau value2, dan mengembalikan true jika ditemukan. Jika tidak ditemukan, mengembalikan false.

ContainsAny<T>(ReadOnlySpan<T>, SearchValues<T>)

Mencari kemunculan salah satu yang ditentukan values dan mengembalikan true jika ditemukan. Jika tidak ditemukan, mengembalikan false.

ContainsAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Mencari kemunculan salah satu yang ditentukan values dan mengembalikan true jika ditemukan. Jika tidak ditemukan, mengembalikan false.

ContainsAnyExcept<T>(ReadOnlySpan<T>, T)

Mencari nilai apa pun selain yang ditentukan value.

ContainsAnyExcept<T>(ReadOnlySpan<T>, T, T)

Mencari nilai apa pun selain value0 atau value1.

ContainsAnyExcept<T>(ReadOnlySpan<T>, T, T, T)

Mencari nilai apa pun selain value0, , value1atau value2.

ContainsAnyExcept<T>(ReadOnlySpan<T>, SearchValues<T>)

Mencari nilai apa pun selain yang ditentukan values.

ContainsAnyExcept<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Mencari nilai apa pun selain yang ditentukan values.

ContainsAnyExceptInRange<T>(ReadOnlySpan<T>, T, T)

Mencari nilai apa pun di luar rentang antara lowInclusive dan highInclusive, inklusif.

ContainsAnyInRange<T>(ReadOnlySpan<T>, T, T)

Mencari nilai apa pun dalam rentang antara lowInclusive dan highInclusive, inklusif, dan mengembalikan true jika ditemukan. Jika tidak ditemukan, mengembalikan false.

Count<T>(ReadOnlySpan<T>, T)

Menghitung berapa kali yang ditentukan value terjadi di span.

Count<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Menghitung berapa kali value terjadi dalam span.

EndsWith<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Menentukan apakah urutan yang ditentukan muncul di akhir rentang baca-saja.

IndexOf<T>(ReadOnlySpan<T>, T)

Mencari nilai yang ditentukan dan mengembalikan indeks kemunculan pertamanya. Nilai dibandingkan menggunakan IEquatable{T}. Sama dengan(T).

IndexOf<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Mencari urutan yang ditentukan dan mengembalikan indeks kemunculan pertamanya. Nilai dibandingkan menggunakan IEquatable{T}. Sama dengan(T).

IndexOfAny<T>(ReadOnlySpan<T>, T, T)

Mencari indeks pertama dari salah satu nilai yang ditentukan yang mirip dengan memanggil IndexOf beberapa kali dengan operator OR logis.

IndexOfAny<T>(ReadOnlySpan<T>, T, T, T)

Mencari indeks pertama dari salah satu nilai yang ditentukan yang mirip dengan memanggil IndexOf beberapa kali dengan operator OR logis.

IndexOfAny<T>(ReadOnlySpan<T>, SearchValues<T>)

Mencari indeks pertama dari salah satu nilai yang ditentukan.

IndexOfAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Mencari indeks pertama dari salah satu nilai yang ditentukan yang mirip dengan memanggil IndexOf beberapa kali dengan operator OR logis.

IndexOfAnyExcept<T>(ReadOnlySpan<T>, T)

Mencari indeks pertama dari nilai apa pun selain yang ditentukan value.

IndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T)

Mencari indeks pertama dari nilai apa pun selain yang ditentukan value0 atau value1.

IndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T, T)

Mencari indeks pertama dari nilai apa pun selain , , value1atau value2yang ditentukanvalue0.

IndexOfAnyExcept<T>(ReadOnlySpan<T>, SearchValues<T>)

Mencari indeks pertama dari nilai apa pun selain yang ditentukan values.

IndexOfAnyExcept<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Mencari indeks pertama dari nilai apa pun selain yang ditentukan values.

IndexOfAnyExceptInRange<T>(ReadOnlySpan<T>, T, T)

Mencari indeks pertama dari nilai apa pun di luar rentang antara lowInclusive dan highInclusive, inklusif.

IndexOfAnyInRange<T>(ReadOnlySpan<T>, T, T)

Mencari indeks pertama dari nilai apa pun dalam rentang antara lowInclusive dan highInclusive, inklusif.

LastIndexOf<T>(ReadOnlySpan<T>, T)

Mencari nilai yang ditentukan dan mengembalikan indeks kemunculan terakhirnya. Nilai dibandingkan menggunakan IEquatable{T}. Sama dengan(T).

LastIndexOf<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Mencari urutan yang ditentukan dan mengembalikan indeks kemunculan terakhirnya. Nilai dibandingkan menggunakan IEquatable{T}. Sama dengan(T).

LastIndexOfAny<T>(ReadOnlySpan<T>, T, T)

Mencari indeks terakhir dari salah satu nilai yang ditentukan yang mirip dengan memanggil LastIndexOf beberapa kali dengan operator OR logis.

LastIndexOfAny<T>(ReadOnlySpan<T>, T, T, T)

Mencari indeks terakhir dari salah satu nilai yang ditentukan yang mirip dengan memanggil LastIndexOf beberapa kali dengan operator OR logis.

LastIndexOfAny<T>(ReadOnlySpan<T>, SearchValues<T>)

Mencari indeks terakhir dari salah satu nilai yang ditentukan.

LastIndexOfAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Mencari indeks terakhir dari salah satu nilai yang ditentukan yang mirip dengan memanggil LastIndexOf beberapa kali dengan operator OR logis.

LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, T)

Mencari indeks terakhir dari nilai apa pun selain yang ditentukan value.

LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T)

Mencari indeks terakhir dari nilai apa pun selain yang ditentukan value0 atau value1.

LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T, T)

Mencari indeks terakhir dari nilai apa pun selain , , value1atau value2yang ditentukanvalue0.

LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, SearchValues<T>)

Mencari indeks terakhir dari nilai apa pun selain yang ditentukan values.

LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Mencari indeks terakhir dari nilai apa pun selain yang ditentukan values.

LastIndexOfAnyExceptInRange<T>(ReadOnlySpan<T>, T, T)

Mencari indeks terakhir dari nilai apa pun di luar rentang antara lowInclusive dan highInclusive, inklusif.

LastIndexOfAnyInRange<T>(ReadOnlySpan<T>, T, T)

Mencari indeks terakhir dari nilai apa pun dalam rentang antara lowInclusive dan highInclusive, inklusif.

Overlaps<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Menentukan apakah dua urutan baca-saja tumpang tindih dalam memori.

Overlaps<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, Int32)

Menentukan apakah dua urutan baca-saja tumpang tindih dalam memori dan menghasilkan offset elemen.

Replace<T>(ReadOnlySpan<T>, Span<T>, T, T)

source Menyalin ke destination, mengganti semua kemunculan oldValue dengan newValue.

SequenceCompareTo<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Menentukan urutan relatif dari dua urutan baca-saja dengan membandingkan elemennya menggunakan IComparable{T}. CompareTo(T).

SequenceEqual<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

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

SequenceEqual<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>)

Menentukan apakah dua urutan sama dengan membandingkan elemen menggunakan IEqualityComparer<T>.

StartsWith<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Menentukan apakah urutan yang ditentukan muncul pada awal rentang baca-saja.

Trim<T>(ReadOnlySpan<T>, T)

Menghapus semua kemunculan awal dan akhir dari elemen tertentu dari rentang baca-saja.

Trim<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Menghapus semua kemunculan awal dan akhir dari sekumpulan elemen yang ditentukan dalam rentang baca-saja dari rentang baca-saja.

TrimEnd<T>(ReadOnlySpan<T>, T)

Menghapus semua kemunculan berikutnya dari elemen tertentu dari rentang baca-saja.

TrimEnd<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Menghapus semua kemunculan berikutnya dari sekumpulan elemen yang ditentukan dalam rentang baca-saja dari rentang baca-saja.

TrimStart<T>(ReadOnlySpan<T>, T)

Menghapus semua kemunculan awal dari elemen tertentu dari rentang.

TrimStart<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Menghapus semua kemunculan awal dari sekumpulan elemen yang ditentukan dalam rentang baca-saja dari rentang.

Berlaku untuk

Lihat juga