ReadOnlySpan<T> Struktura

Definicja

Zapewnia bezpieczną typowo 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 elemecie ReadOnlySpan<T>.

Dziedziczenie
ReadOnlySpan<T>
Atrybuty

Uwagi

ReadOnlySpan<T> jest strukturą ref przydzielaną na stosie i nigdy nie może uciec do zarządzanej sterty. Typy struktur ref mają szereg ograniczeń, aby upewnić się, że nie mogą być promowane do zarządzanej sterty, w tym, że nie można ich wpisać w polach, przechwyconych w wyrażeniach lambda, przypisanych do zmiennych typu , przypisanych do dynamic zmiennych i nie mogą zaimplementować żadnego typu Objectinterfejsu.

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ć zarządzaną pamięć, pamięć natywną lub pamięć zarządzaną na stosie.

Konstruktory

ReadOnlySpan<T>(T)

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

ReadOnlySpan<T>(T[])

Tworzy nową ReadOnlySpan<T> w całości określonej tablicy.

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

Tworzy nową, ReadOnlySpan<T> która zawiera określoną liczbę elementów tablicy rozpoczynającej się od określonego indeksu.

ReadOnlySpan<T>(Void*, Int32)

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

Właściwości

Empty

Zwraca pusty ReadOnlySpan<T>element .

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 opartym na zera.

Length

Liczba elementów w zakresie tylko do odczytu.

Metody

CopyTo(Span<T>)

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

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

Nieobsługiwane. Zgłasza element NotSupportedException.

GetEnumerator()

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

GetHashCode()
Przestarzałe.

Nieobsługiwane. Zgłasza element NotSupportedException.

GetPinnableReference()

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

Ta metoda jest przeznaczona do obsługi kompilatorów platformy .NET i nie ma być wywoływana przez kod użytkownika.

Slice(Int32)

Tworzy wycinkę bieżącego zakresu tylko do odczytu, który zaczyna 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>elementu .

TryCopyTo(Span<T>)

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

Operatory

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

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

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

Definiuje niejawną konwersję elementu ArraySegment<T> na obiekt 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 ReadOnlySpan<T> wystąpienia 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łą posortowaną ReadOnlySpan<T> wartość przy użyciu określonego IComparable<T> interfejsu ogólnego.

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

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

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

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

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

Znajduje długość dowolnego wspólnego prefiksu udostępnionego między elementami 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 elementu value0 lub value1i zwraca wartość true , jeśli zostanie znaleziona. Jeśli nie znaleziono, zwraca wartość false.

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

Wyszukuje wystąpienie wartości value0, value1lub value2i zwraca wartość true , jeśli zostanie znaleziona. Jeśli nie znaleziono, zwraca wartość false.

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

Wyszukuje wystąpienie dowolnego z określonych elementów values i zwraca wartość true w przypadku znalezienia. Jeśli nie znaleziono, zwraca wartość false.

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

Wyszukuje wystąpienie dowolnego z określonych elementów values i zwraca wartość true w przypadku znalezienia. Jeśli nie znaleziono, zwraca wartość false.

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

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

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 valueswartość .

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

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

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

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

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

Wyszukuje dowolną wartość w zakresie od lowInclusive do highInclusive, włącznie i zwraca wartość true , jeśli zostanie znaleziona. Jeśli nie znaleziono, zwraca wartość false.

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

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

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

Zlicza liczbę wystąpień value w obiekcie span.

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 dowolnego z określonych wartości podobnych do wywołania IndexOf kilka razy za pomocą operatora logicznego OR.

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

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

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

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

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

Wyszukuje pierwszy indeks dowolnego z określonych wartości podobnych do wywołania 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ślony 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 spoza zakresu od lowInclusive do 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 dowolnego 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 dowolnego 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 dowolnego z określonych wartości.

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

Wyszukuje ostatni indeks dowolnego 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 od lowInclusive do 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ę na pamięć.

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

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

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

Kopiuje source do destinationelementu , zastępując wszystkie wystąpienia oldValue elementu .newValue

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 elementu 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 elementu IEqualityComparer<T>.

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 wiodące i końcowe wystąpienia 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ż