ReadOnlySpan<T> Struktura
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
- 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 |
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
CastUp<TDerived>(ReadOnlySpan<TDerived>) |
Zapewnia bezpieczną typowo i bezpieczną pamięć reprezentację tylko do odczytu ciągłego regionu dowolnego pamięci. |
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 |
BinarySearch<T,TComparable>(ReadOnlySpan<T>, TComparable) |
Wyszukuje całą posortowaną ReadOnlySpan<T> wartość przy użyciu określonego |
CommonPrefixLength<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) |
Znajduje długość dowolnego wspólnego prefiksu udostępnionego między elementami |
CommonPrefixLength<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>) |
Określa długość dowolnego wspólnego prefiksu współużytkowanego między |
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 |
ContainsAny<T>(ReadOnlySpan<T>, T, T, T) |
Wyszukuje wystąpienie wartości |
ContainsAny<T>(ReadOnlySpan<T>, SearchValues<T>) |
Wyszukuje wystąpienie dowolnego z określonych elementów |
ContainsAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) |
Wyszukuje wystąpienie dowolnego z określonych elementów |
ContainsAnyExcept<T>(ReadOnlySpan<T>, T) |
Wyszukuje dowolną wartość inną niż określona |
ContainsAnyExcept<T>(ReadOnlySpan<T>, T, T) |
Wyszukuje dowolną wartość inną niż |
ContainsAnyExcept<T>(ReadOnlySpan<T>, T, T, T) |
Wyszukuje dowolną wartość inną niż |
ContainsAnyExcept<T>(ReadOnlySpan<T>, SearchValues<T>) |
Wyszukuje dowolną wartość inną niż określona |
ContainsAnyExcept<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) |
Wyszukuje dowolną wartość inną niż określona |
ContainsAnyExceptInRange<T>(ReadOnlySpan<T>, T, T) |
Wyszukuje dowolną wartość poza zakresem między |
ContainsAnyInRange<T>(ReadOnlySpan<T>, T, T) |
Wyszukuje dowolną wartość w zakresie od |
Count<T>(ReadOnlySpan<T>, T) |
Zlicza liczbę wystąpień określonych |
Count<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) |
Zlicza liczbę wystąpień |
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 |
IndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T) |
Wyszukuje pierwszy indeks dowolnej wartości innej niż określona |
IndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T, T) |
Wyszukuje pierwszy indeks dowolnej wartości innej niż określony |
IndexOfAnyExcept<T>(ReadOnlySpan<T>, SearchValues<T>) |
Wyszukuje pierwszy indeks dowolnej wartości innej niż określona |
IndexOfAnyExcept<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) |
Wyszukuje pierwszy indeks dowolnej wartości innej niż określona |
IndexOfAnyExceptInRange<T>(ReadOnlySpan<T>, T, T) |
Wyszukuje pierwszy indeks dowolnej wartości spoza zakresu od |
IndexOfAnyInRange<T>(ReadOnlySpan<T>, T, T) |
Wyszukuje pierwszy indeks dowolnej wartości w zakresie od |
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 |
LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T) |
Wyszukuje ostatni indeks dowolnej wartości innej niż określona |
LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T, T) |
Wyszukuje ostatni indeks dowolnej wartości innej niż określona |
LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, SearchValues<T>) |
Wyszukuje ostatni indeks dowolnej wartości innej niż określona |
LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) |
Wyszukuje ostatni indeks dowolnej wartości innej niż określona |
LastIndexOfAnyExceptInRange<T>(ReadOnlySpan<T>, T, T) |
Wyszukuje ostatni indeks dowolnej wartości poza zakresem od |
LastIndexOfAnyInRange<T>(ReadOnlySpan<T>, T, T) |
Wyszukuje ostatni indeks dowolnej wartości w zakresie od |
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 |
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ż
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla