Freigeben über


ReadOnlySpan<T> Struktur

Definition

Stellt eine typsichere und speichersichere schreibgeschützte Darstellung eines zusammenhängenden Bereichs eines beliebigen Speichers bereit.

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)

Typparameter

T

Der Typ der Elemente im ReadOnlySpan<T>.

Vererbung
ReadOnlySpan<T>
Attribute

Hinweise

ReadOnlySpan<T> ist eine Referenzstruktur, die auf dem Stapel zugeordnet ist und niemals dem verwalteten Heap entkommen kann. Referenzstrukturtypen weisen eine Reihe von Einschränkungen auf, um sicherzustellen, dass sie nicht zum verwalteten Heap heraufgestuft werden können, einschließlich, dass sie nicht boxt, in Lambda-Ausdrücken erfasst werden können, den Variablen vom Typ Objectzugewiesen, dynamic Variablen zugewiesen sind und keine Schnittstellentypen implementieren können.

Eine ReadOnlySpan<T> Instanz wird häufig verwendet, um auf die Elemente eines Arrays oder eines Teils eines Arrays zu verweisen. Im Gegensatz zu einem Array kann eine ReadOnlySpan<T> Instanz jedoch auf verwalteten Speicher, systemeigenen Speicher oder auf den im Stapel verwalteten Speicher verweisen.

Konstruktoren

ReadOnlySpan<T>(T)

Erstellt eine neue ReadOnlySpan<T> der Länge 1 um den angegebenen Bezug.

ReadOnlySpan<T>(T[])

Erstellt eine neue ReadOnlySpan<T> über die gesamte Anzahl eines angegebenen Arrays.

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

Erstellt eine neue ReadOnlySpan<T>, die eine bestimmte Anzahl von Elementen eines Arrays enthält, beginnend mit einem angegebenen Index.

ReadOnlySpan<T>(Void*, Int32)

Erstellt eine neue ReadOnlySpan<T> aus einer angegebenen Anzahl von T Elementen ab einer angegebenen Speicheradresse.

Eigenschaften

Empty

Gibt eine leere ReadOnlySpan<T>zurück.

IsEmpty

Gibt einen Wert zurück, der angibt, dass die aktuelle schreibgeschützte Spanne leer ist.

Item[Int32]

Ruft ein Element aus der schreibgeschützten Spanne am angegebenen nullbasierten Index ab.

Length

Die Anzahl der Elemente in der schreibgeschützten Spanne.

Methoden

CastUp<TDerived>(ReadOnlySpan<TDerived>)

Wandelt eine schreibgeschützte Spanne von TDerived in eine schreibgeschützte Spanne von Tum.

CopyTo(Span<T>)

Kopiert den Inhalt dieser ReadOnlySpan<T> in ein Ziel Span<T>.

Equals(Object)
Veraltet.
Veraltet.

Nicht unterstützt. Löst eine NotSupportedExceptionaus.

GetEnumerator()

Gibt einen Enumerator für diese ReadOnlySpan<T>zurück.

GetHashCode()
Veraltet.

Nicht unterstützt. Löst eine NotSupportedExceptionaus.

GetPinnableReference()

Gibt einen schreibgeschützten Verweis auf ein Objekt vom Typ T zurück, das zum Anheften verwendet werden kann.

Diese Methode soll .NET-Compiler unterstützen und nicht von Benutzercode aufgerufen werden.

Slice(Int32)

Bildet einen Datenschnitt aus der aktuellen schreibgeschützten Spanne, die mit einem angegebenen Index beginnt.

Slice(Int32, Int32)

Bildet ein Segment aus der aktuellen schreibgeschützten Spanne ab einem angegebenen Index für eine angegebene Länge.

ToArray()

Kopiert den Inhalt dieses schreibgeschützten Bereichs in ein neues Array.

ToString()

Gibt die Zeichenfolgendarstellung dieses ReadOnlySpan<T>zurück.

TryCopyTo(Span<T>)

Versucht, den Inhalt dieser ReadOnlySpan<T> in eine Span<T> zu kopieren, und gibt einen Wert zurück, der angibt, ob der Vorgang erfolgreich war.

Operatoren

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

Gibt einen Wert zurück, der angibt, ob zwei ReadOnlySpan<T> Instanzen gleich sind.

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

Definiert eine implizite Konvertierung eines ArraySegment<T> in eine ReadOnlySpan<T>.

Implicit(T[] to ReadOnlySpan<T>)

Definiert eine implizite Konvertierung eines Arrays in eine ReadOnlySpan<T>.

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

Gibt einen Wert zurück, der angibt, ob zwei ReadOnlySpan<T> Instanzen nicht gleich sind.

Erweiterungsmethoden

ToImmutableArray<T>(ReadOnlySpan<T>)

Erzeugen Sie ein unveränderliches Array von Inhalten aus angegebenen Elementen.

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

Durchsucht eine gesamte sortierte ReadOnlySpan<T> nach einem Wert mithilfe der angegebenen IComparable<T> generischen Schnittstelle.

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

Durchsucht eine gesamte sortierte ReadOnlySpan<T> nach einem angegebenen Wert mithilfe des angegebenen TComparer generischen Typs.

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

Durchsucht eine gesamte sortierte ReadOnlySpan<T> nach einem Wert mithilfe des angegebenen TComparable generischen Typs.

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

Sucht die Länge eines gemeinsamen Präfixes, das zwischen span und othergemeinsam genutzt wird.

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

Bestimmt die Länge eines gemeinsamen Präfixes, das zwischen span und othergemeinsam genutzt wird.

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

Gibt an, ob ein angegebener Wert in einer schreibgeschützten Spanne gefunden wird. Werte werden mit "IEquatable{T}" verglichen. Entspricht(T).

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

Sucht nach einem Vorkommen von value0 oder value1.

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

Sucht nach einem Vorkommen von value0, value1oder value2.

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

Sucht nach einem Vorkommen eines der angegebenen values.

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

Sucht nach einem Vorkommen eines der angegebenen values.

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

Sucht nach einem anderen Wert als dem angegebenen value.

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

Sucht nach einem anderen Wert als value0 oder value1.

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

Sucht nach einem anderen Wert als value0, value1oder value2.

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

Sucht nach einem anderen Wert als dem angegebenen values.

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

Sucht nach einem anderen Wert als dem angegebenen values.

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

Sucht nach einem beliebigen Wert außerhalb des Bereichs zwischen lowInclusive und highInclusiveeinschließlich.

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

Sucht nach einem beliebigen Wert im Bereich zwischen lowInclusive und highInclusiveeinschließlich.

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

Zählt, wie oft die angegebene value in der spanauftritt.

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

Zählt, wie oft value in spanauftritt.

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

Bestimmt, ob der angegebene Wert am Ende der Spanne angezeigt wird.

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

Bestimmt, ob die angegebene Sequenz am Ende einer schreibgeschützten Spanne angezeigt wird.

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

Sucht nach dem angegebenen Wert und gibt den Index des ersten Vorkommens zurück. Werte werden mit "IEquatable{T}" verglichen. Entspricht(T).

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

Sucht nach der angegebenen Sequenz und gibt den Index des ersten Vorkommens zurück. Werte werden mit "IEquatable{T}" verglichen. Entspricht(T).

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

Sucht mehrmals mit dem logischen OR-Operator nach dem ersten Index einer der angegebenen Werte, die dem Aufrufen von IndexOf ähneln.

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

Sucht mehrmals mit dem logischen OR-Operator nach dem ersten Index einer der angegebenen Werte, die dem Aufrufen von IndexOf ähneln.

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

Sucht nach dem ersten Index eines der angegebenen Werte.

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

Sucht mehrmals mit dem logischen OR-Operator nach dem ersten Index einer der angegebenen Werte, die dem Aufrufen von IndexOf ähneln.

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

Sucht nach dem ersten Index eines anderen Werts als dem angegebenen value.

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

Sucht nach dem ersten Index eines anderen Werts als dem angegebenen value0 oder value1.

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

Sucht nach dem ersten Index eines anderen Werts als dem angegebenen value0, value1oder value2.

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

Sucht nach dem ersten Index eines anderen Werts als dem angegebenen values.

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

Sucht nach dem ersten Index eines anderen Werts als dem angegebenen values.

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

Sucht nach dem ersten Index eines Beliebigen Werts außerhalb des Bereichs zwischen lowInclusive und highInclusiveeinschließlich.

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

Sucht nach dem ersten Index eines beliebigen Werts im Bereich zwischen lowInclusive und highInclusiveeinschließlich.

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

Sucht nach dem angegebenen Wert und gibt den Index des letzten Vorkommens zurück. Werte werden mit "IEquatable{T}" verglichen. Entspricht(T).

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

Sucht nach der angegebenen Sequenz und gibt den Index des letzten Vorkommens zurück. Werte werden mit "IEquatable{T}" verglichen. Entspricht(T).

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

Sucht nach dem letzten Index einer der angegebenen Werte, die dem Aufrufen von LastIndexOf mehrmals mit dem logischen OR-Operator ähneln.

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

Sucht nach dem letzten Index einer der angegebenen Werte, die dem Aufrufen von LastIndexOf mehrmals mit dem logischen OR-Operator ähneln.

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

Sucht nach dem letzten Index eines der angegebenen Werte.

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

Sucht nach dem letzten Index einer der angegebenen Werte, die dem Aufrufen von LastIndexOf mehrmals mit dem logischen OR-Operator ähneln.

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

Sucht nach dem letzten Index eines anderen Werts als dem angegebenen value.

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

Sucht nach dem letzten Index eines anderen Werts als dem angegebenen value0 oder value1.

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

Sucht nach dem letzten Index eines anderen Werts als dem angegebenen value0, value1oder value2.

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

Sucht nach dem letzten Index eines anderen Werts als dem angegebenen values.

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

Sucht nach dem letzten Index eines anderen Werts als dem angegebenen values.

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

Sucht nach dem letzten Index eines beliebigen Werts außerhalb des Bereichs zwischen lowInclusive und highInclusiveeinschließlich.

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

Sucht nach dem letzten Index eines beliebigen Werts im Bereich zwischen lowInclusive und highInclusiveeinschließlich.

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

Bestimmt, ob zwei schreibgeschützte Sequenzen im Arbeitsspeicher überlappen.

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

Bestimmt, ob zwei schreibgeschützte Sequenzen im Arbeitsspeicher überlappen und den Elementoffset ausgibt.

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

Kopiert source in destination, wobei alle Vorkommen von oldValue durch newValueersetzt werden.

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

Bestimmt die relative Reihenfolge von zwei schreibgeschützten Sequenzen, indem sie ihre Elemente mithilfe von "IComparable{T}" vergleichen. CompareTo(T).

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

Bestimmt, ob zwei schreibgeschützte Sequenzen gleich sind, indem die Elemente mithilfe von "IEquatable{T}" verglichen werden. Entspricht(T).

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

Bestimmt, ob zwei Sequenzen gleich sind, indem die Elemente mithilfe einer IEqualityComparer<T>verglichen werden.

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

Bestimmt, ob der angegebene Wert am Anfang der Spanne angezeigt wird.

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

Bestimmt, ob eine angegebene Sequenz am Anfang einer schreibgeschützten Spanne angezeigt wird.

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

Entfernt alle führenden und nachfolgenden Vorkommen eines angegebenen Elements aus einer schreibgeschützten Spanne.

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

Entfernt alle führenden und nachfolgenden Vorkommen einer Gruppe von Elementen, die in einer schreibgeschützten Spanne angegeben sind, aus einer schreibgeschützten Spanne.

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

Entfernt alle nachfolgenden Vorkommen eines angegebenen Elements aus einer schreibgeschützten Spanne.

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

Entfernt alle nachfolgenden Vorkommen einer Gruppe von Elementen, die in einer schreibgeschützten Spanne angegeben sind, aus einer schreibgeschützten Spanne.

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

Entfernt alle führenden Vorkommen eines angegebenen Elements aus der Spanne.

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

Entfernt alle führenden Vorkommen einer Gruppe von Elementen, die in einer schreibgeschützten Spanne von der Spanne angegeben sind.

Gilt für:

Weitere Informationen