Udostępnij za pośrednictwem


ReadOnlySpan<T> Struktura

Definicja

Zapewnia bezpieczną i bezpieczną pamięć reprezentację tylko do odczytu ciągłego regionu dowolnego pamięci.

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)

Parametry typu

T

Typ elementów w ReadOnlySpan<T>.

Dziedziczenie
ReadOnlySpan<T>
Atrybuty

Uwagi

ReadOnlySpan<T> jest strukturą ref, która jest przydzielana na stosie i nigdy nie może uciec do zarządzanej sterty. Typy struktury ref mają wiele ograniczeń, aby upewnić się, że nie mogą być promowane do zarządzanej sterty, w tym, że nie mogą być one w polu, przechwycone w wyrażeniach lambda, przypisane do zmiennych typu Object, przypisane do dynamic zmiennych i nie mogą implementować żadnego typu interfejsu.

Wystąpienie ReadOnlySpan<T> jest często używane do odwołowania się do elementów tablicy lub części tablicy. W przeciwieństwie do tablicy wystąpienie ReadOnlySpan<T> może jednak wskazywać pamięć zarządzaną, pamięć natywną lub pamięć zarządzaną na stosie.

Konstruktory

ReadOnlySpan<T>(T)

Tworzy nową ReadOnlySpan<T> długości 1 wokół określonego odwołania.

ReadOnlySpan<T>(T[])

Tworzy nowe ReadOnlySpan<T> w całej określonej tablicy.

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

Tworzy nową ReadOnlySpan<T> zawierającą określoną liczbę elementów tablicy rozpoczynających się od określonego indeksu.

ReadOnlySpan<T>(Void*, Int32)

Tworzy nowy ReadOnlySpan<T> na podstawie określonej liczby elementów T rozpoczynających się od określonego adresu pamięci.

Właściwości

Empty

Zwraca pusty ReadOnlySpan<T>.

IsEmpty

Zwraca wartość wskazującą, że bieżący zakres tylko do odczytu jest pusty.

Item[Int32]

Pobiera element z zakresu tylko do odczytu w określonym indeksie zerowym.

Length

Liczba elementów w zakresie tylko do odczytu.

Metody

CastUp<TDerived>(ReadOnlySpan<TDerived>)

Rzutuje zakres tylko do odczytu TDerived do zakresu tylko do odczytu T.

CopyTo(Span<T>)

Kopiuje zawartość tego ReadOnlySpan<T> do miejsca docelowego Span<T>.

Equals(Object)
Przestarzałe.
Przestarzałe.

Nieobsługiwane. Zgłasza NotSupportedException.

GetEnumerator()

Zwraca moduł wyliczający dla tego ReadOnlySpan<T>.

GetHashCode()
Przestarzałe.

Nieobsługiwane. Zgłasza NotSupportedException.

GetPinnableReference()

Zwraca odwołanie tylko do odczytu do obiektu typu T, którego można użyć do przypinania.

Ta metoda ma obsługiwać kompilatory platformy .NET i nie ma być wywoływana przez kod użytkownika.

Slice(Int32)

Tworzy wycinkę bieżącego zakresu tylko do odczytu, który rozpoczyna się od określonego indeksu.

Slice(Int32, Int32)

Tworzy wycinkę bieżącego zakresu tylko do odczytu rozpoczynającego się od określonego indeksu dla określonej długości.

ToArray()

Kopiuje zawartość tego zakresu tylko do odczytu do nowej tablicy.

ToString()

Zwraca reprezentację ciągu tego ReadOnlySpan<T>.

TryCopyTo(Span<T>)

Próbuje skopiować zawartość tego ReadOnlySpan<T> do Span<T> i zwraca wartość wskazującą, czy operacja zakończyła się pomyślnie.

Operatory

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

Zwraca wartość wskazującą, czy dwa wystąpienia ReadOnlySpan<T> są równe.

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

Definiuje niejawną konwersję ArraySegment<T> na ReadOnlySpan<T>.

Implicit(T[] to ReadOnlySpan<T>)

Definiuje niejawną konwersję tablicy na ReadOnlySpan<T>.

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

Zwraca wartość wskazującą, czy dwa wystąpienia ReadOnlySpan<T> nie są równe.

Metody rozszerzania

ToImmutableArray<T>(ReadOnlySpan<T>)

Tworzy niezmienną tablicę zawartości z określonych elementów.

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

Wyszukuje całe posortowane ReadOnlySpan<T> dla wartości przy użyciu określonego interfejsu ogólnego IComparable<T>.

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

Wyszukuje całe posortowane ReadOnlySpan<T> dla określonej wartości przy użyciu określonego typu ogólnego TComparer.

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

Wyszukuje całą posortowaną ReadOnlySpan<T> dla wartości przy użyciu określonego typu ogólnego TComparable.

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

Znajduje długość dowolnego wspólnego prefiksu współużytkowanego między span i other.

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

Określa długość dowolnego wspólnego prefiksu współużytkowanego między span i other.

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

Wskazuje, czy określona wartość znajduje się w zakresie tylko do odczytu. Wartości są porównywane przy użyciu funkcji IEquatable{T}. Equals(T).

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

Wyszukuje wystąpienie value0 lub value1.

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

Wyszukuje wystąpienie value0, value1lub value2.

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

Wyszukuje wystąpienie dowolnego z określonych values.

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

Wyszukuje wystąpienie dowolnego z określonych values.

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

Wyszukuje dowolną wartość inną niż określona value.

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

Wyszukuje dowolną wartość inną niż value0 lub value1.

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

Wyszukuje dowolną wartość inną niż value0, value1lub value2.

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

Wyszukuje dowolną wartość inną niż określona values.

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

Wyszukuje dowolną wartość inną niż określona values.

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

Wyszukuje dowolną wartość poza zakresem między lowInclusive a highInclusive, włącznie.

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

Wyszukuje dowolną wartość w zakresie między lowInclusive a highInclusive, włącznie.

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

Zlicza liczbę wystąpień określonego value w span.

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

Zlicza liczbę wystąpień value w span.

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

Określa, czy określona wartość pojawia się na końcu zakresu.

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

Określa, czy określona sekwencja pojawia się na końcu zakresu tylko do odczytu.

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

Wyszukuje określoną wartość i zwraca indeks pierwszego wystąpienia. Wartości są porównywane przy użyciu funkcji IEquatable{T}. Equals(T).

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

Wyszukuje określoną sekwencję i zwraca indeks pierwszego wystąpienia. Wartości są porównywane przy użyciu funkcji IEquatable{T}. Equals(T).

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

Wyszukuje pierwszy indeks dowolnej z określonych wartości podobny do wywołania funkcji IndexOf kilka razy za pomocą operatora logicznego OR.

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

Wyszukuje pierwszy indeks dowolnej z określonych wartości podobny do wywołania funkcji IndexOf kilka razy za pomocą operatora logicznego OR.

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

Wyszukuje pierwszy indeks dowolnej z określonych wartości.

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

Wyszukuje pierwszy indeks dowolnej z określonych wartości podobny do wywołania funkcji IndexOf kilka razy za pomocą operatora logicznego OR.

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

Wyszukuje pierwszy indeks dowolnej wartości innej niż określona value.

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

Wyszukuje pierwszy indeks dowolnej wartości innej niż określona value0 lub value1.

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

Wyszukuje pierwszy indeks dowolnej wartości innej niż określona value0, value1lub value2.

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

Wyszukuje pierwszy indeks dowolnej wartości innej niż określona values.

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

Wyszukuje pierwszy indeks dowolnej wartości innej niż określona values.

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

Wyszukuje pierwszy indeks dowolnej wartości poza zakresem między lowInclusive a highInclusive, włącznie.

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

Wyszukuje pierwszy indeks dowolnej wartości w zakresie od lowInclusive do highInclusive, włącznie.

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

Wyszukuje określoną wartość i zwraca indeks ostatniego wystąpienia. Wartości są porównywane przy użyciu funkcji IEquatable{T}. Equals(T).

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

Wyszukuje określoną sekwencję i zwraca indeks ostatniego wystąpienia. Wartości są porównywane przy użyciu funkcji IEquatable{T}. Equals(T).

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

Wyszukuje ostatni indeks dowolnej z określonych wartości podobnych do wywołania LastIndexOf kilka razy za pomocą operatora logicznego OR.

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

Wyszukuje ostatni indeks dowolnej z określonych wartości podobnych do wywołania LastIndexOf kilka razy za pomocą operatora logicznego OR.

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

Wyszukuje ostatni indeks dowolnej z określonych wartości.

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

Wyszukuje ostatni indeks dowolnej z określonych wartości podobnych do wywołania LastIndexOf kilka razy za pomocą operatora logicznego OR.

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

Wyszukuje ostatni indeks dowolnej wartości innej niż określona value.

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

Wyszukuje ostatni indeks dowolnej wartości innej niż określona value0 lub value1.

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

Wyszukuje ostatni indeks dowolnej wartości innej niż określona value0, value1lub value2.

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

Wyszukuje ostatni indeks dowolnej wartości innej niż określona values.

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

Wyszukuje ostatni indeks dowolnej wartości innej niż określona values.

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

Wyszukuje ostatni indeks dowolnej wartości poza zakresem między lowInclusive a highInclusive, włącznie.

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

Wyszukuje ostatni indeks dowolnej wartości w zakresie od lowInclusive do highInclusive, włącznie.

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

Określa, czy dwie sekwencje tylko do odczytu nakładają się w pamięci.

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

Określa, czy dwie sekwencje tylko do odczytu nakładają się w pamięci i wyprowadza przesunięcie elementu.

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

Kopiuje source do destination, zastępując wszystkie wystąpienia oldValuenewValue.

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

Określa względną kolejność dwóch sekwencji tylko do odczytu, porównując ich elementy przy użyciu funkcji IComparable{T}. CompareTo(T).

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

Określa, czy dwie sekwencje tylko do odczytu są równe, porównując elementy przy użyciu funkcji IEquatable{T}. Equals(T).

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

Określa, czy dwie sekwencje są równe, porównując elementy przy użyciu IEqualityComparer<T>.

Split<T>(ReadOnlySpan<T>, T)

Zapewnia bezpieczną i bezpieczną pamięć reprezentację tylko do odczytu ciągłego regionu dowolnego pamięci.

Split<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Zapewnia bezpieczną i bezpieczną pamięć reprezentację tylko do odczytu ciągłego regionu dowolnego pamięci.

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

Zapewnia bezpieczną i bezpieczną pamięć reprezentację tylko do odczytu ciągłego regionu dowolnego pamięci.

SplitAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Zapewnia bezpieczną i bezpieczną pamięć reprezentację tylko do odczytu ciągłego regionu dowolnego pamięci.

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

Określa, czy określona wartość pojawia się na początku zakresu.

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

Określa, czy określona sekwencja pojawia się na początku zakresu tylko do odczytu.

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

Usuwa wszystkie wystąpienia wiodące i końcowe określonego elementu z zakresu tylko do odczytu.

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

Usuwa wszystkie wystąpienia wiodące i końcowe zestawu elementów określonych w zakresie tylko do odczytu z zakresu tylko do odczytu z zakresu tylko do odczytu.

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

Usuwa wszystkie końcowe wystąpienia określonego elementu z zakresu tylko do odczytu.

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

Usuwa wszystkie końcowe wystąpienia zestawu elementów określonych w zakresie tylko do odczytu z zakresu tylko do odczytu z zakresu tylko do odczytu.

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

Usuwa wszystkie wiodące wystąpienia określonego elementu z zakresu.

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

Usuwa wszystkie wiodące wystąpienia zestawu elementów określonych w zakresie tylko do odczytu z zakresu.

Dotyczy

Zobacz też