ReadOnlySpan<T> Struktur

Definition

Dieser enthält eine typ- und arbeitsspeichersichere schreibgeschützte Darstellung einer zusammenhängenden Region von beliebigem Arbeitsspeicher.

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 in .ReadOnlySpan<T>

Vererbung
ReadOnlySpan<T>
Attribute

Hinweise

ReadOnlySpan<T> ist eine Ref-Struktur , die im Stapel zugeordnet ist und niemals zum verwalteten Heap entkommen kann. Ref-Strukturtypen haben eine Reihe von Einschränkungen, um sicherzustellen, dass sie nicht zum verwalteten Heap heraufgestuft werden können, einschließlich, dass sie nicht schachtelt, in Lambdaausdrücken erfasst, Variablen vom Typ Objectzugewiesen, Variablen zugewiesen dynamic sind und keinen Schnittstellentyp implementieren können.

Ein ReadOnlySpan<T> instance wird häufig verwendet, um auf die Elemente eines Arrays oder eines Teils eines Arrays zu verweisen. Im Gegensatz zu einem Array kann ein ReadOnlySpan<T> instance jedoch auf verwalteten Arbeitsspeicher, nativen Arbeitsspeicher oder auf den auf dem Stapel verwalteten Speicher verweisen.

Konstruktoren

ReadOnlySpan<T>(T)

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

ReadOnlySpan<T>(T[])

Erstellt ein neues ReadOnlySpan<T> über das gesamte angegebene Array.

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

Erstellt ein neues ReadOnlySpan<T>, das eine angegebene Anzahl von Elementen aus einem Array enthält. Dabei wird an einem angegebenen Index begonnen.

ReadOnlySpan<T>(Void*, Int32)

Erstellt ein neues ReadOnlySpan<T> aus einer angegebenen Anzahl von T-Elementen. Dabei wird an der angegebenen Speicheradresse begonnen.

Eigenschaften

Empty

Gibt ein leeres ReadOnlySpan<T> zurück.

IsEmpty

Gibt einen Wert zurück, der angibt, dass das aktuelle schreibgeschützte Span-Element leer ist.

Item[Int32]

Ruft ein Element aus dem schreibgeschützten Span-Element am angegebenen nullbasierten Index ab.

Length

Die Anzahl der Elemente im schreibgeschützten Span-Element.

Methoden

CastUp<TDerived>(ReadOnlySpan<TDerived>)

Dieser enthält eine typ- und arbeitsspeichersichere schreibgeschützte Darstellung einer zusammenhängenden Region von beliebigem Arbeitsspeicher.

CopyTo(Span<T>)

Kopiert die Inhalte dieses ReadOnlySpan<T>-Elements in ein Span<T>-Zielelement.

Equals(Object)
Veraltet.
Veraltet.

Wird nicht unterstützt. Löst eine NotSupportedException aus.

GetEnumerator()

Gibt einen Enumerator für dieses ReadOnlySpan<T>-Element zurück.

GetHashCode()
Veraltet.

Wird nicht unterstützt. Löst eine NotSupportedException aus.

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 ist nicht für den Aufruf durch Benutzercode vorgesehen.

Slice(Int32)

Bildet einen Slice aus dem aktuellen schreibgeschützten Span-Element, das an einem angegebenen Index beginnt.

Slice(Int32, Int32)

Bildet einen Slice aus dem aktuellen schreibgeschützten Span-Element. Dabei wird an einem angegebenen Index für eine angegebene Länge begonnen.

ToArray()

Kopiert die Inhalte dieses schreibgeschützten Span-Elements in ein neues Array.

ToString()

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

TryCopyTo(Span<T>)

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

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 von ArraySegment<T> in ReadOnlySpan<T>.

Implicit(T[] to ReadOnlySpan<T>)

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

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

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

Erweiterungsmethoden

ToImmutableArray<T>(ReadOnlySpan<T>)

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

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

Durchsucht ein ganzes sortiertes ReadOnlySpan<T> mithilfe der angegebenen generischen IComparable<T>-Schnittstelle nach einem Wert.

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

Durchsucht ein ganzes sortiertes ReadOnlySpan<T> mithilfe des angegebenen generischen TComparer-Typs nach einem angegebenen Wert.

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

Durchsucht ein ganzes sortiertes ReadOnlySpan<T> mithilfe des angegebenen generischen TComparable-Typs nach einem Wert.

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

Ermittelt die Länge eines gemeinsamen Präfixes, das zwischen span und otherfreigegeben wird.

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

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

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

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

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

Sucht nach einem Vorkommen von value0 oder und value1gibt zurück true , falls gefunden. Wird nicht gefunden, wird zurückgegeben false.

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

Sucht nach einem Vorkommen von value0, value1oder value2und gibt zurück true , falls gefunden. Wird nicht gefunden, wird zurückgegeben false.

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

Sucht nach einem Vorkommen eines der angegebenen values und gibt zurück true , falls gefunden. Wird nicht gefunden, wird zurückgegeben false.

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

Sucht nach einem Vorkommen eines der angegebenen values und gibt zurück true , falls gefunden. Wird nicht gefunden, wird zurückgegeben false.

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 inklusive highInclusive.

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

Sucht nach einem beliebigen Wert im Bereich zwischen lowInclusive und highInclusive, einschließlich, und gibt zurück true , wenn er gefunden wird. Wird nicht gefunden, wird zurückgegeben false.

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

Zählt die Häufigkeit des angegebenen value Auftretens in .span

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

Zählt die Anzahl der Auftritte value in span.

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}.Equals(T)“ verglichen.

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}.Equals(T)“ verglichen.

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

Sucht nach dem ersten Index eines der angegebenen Werte, ähnlich dem mehrmaligen Aufruf von IndexOf mit dem logischen OR-Operator (ODER).

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

Sucht nach dem ersten Index eines der angegebenen Werte, ähnlich dem mehrmaligen Aufruf von IndexOf mit dem logischen OR-Operator (ODER).

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

Sucht nach dem ersten Index eines der angegebenen Werte.

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

Sucht nach dem ersten Index eines der angegebenen Werte, ähnlich dem mehrmaligen Aufruf von IndexOf mit dem logischen OR-Operator (ODER).

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 inklusive highInclusive.

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

Sucht nach dem ersten Index eines beliebigen Werts im Bereich zwischen lowInclusive und inklusive highInclusive.

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

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

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}.Equals(T)“ verglichen.

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

Sucht nach dem letzten Index eines der angegebenen Werte, ähnlich dem mehrmaligen Aufruf von LastIndexOf mit dem logischen OR-Operator (ODER).

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

Sucht nach dem letzten Index eines der angegebenen Werte, ähnlich dem mehrmaligen Aufruf von LastIndexOf mit dem logischen OR-Operator (ODER).

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 eines der angegebenen Werte, ähnlich dem mehrmaligen Aufruf von LastIndexOf mit dem logischen OR-Operator (ODER).

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 inklusive highInclusive.

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

Sucht nach dem letzten Index eines beliebigen Werts im Bereich zwischen lowInclusive und inklusive highInclusive.

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

Bestimmt, ob sich zwei schreibgeschützte Sequenzen im Speicher überlappen.

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

Bestimmt, ob sich zwei schreibgeschützte Sequenzen im Speicher überlappen, und gibt den Elementoffset aus.

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

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

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

Bestimmt die relative Reihenfolge von zwei schreibgeschützten Sequenzen durch Vergleichen ihrer Elemente mit „IComparable{T}.CompareTo(T)“.

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

Bestimmt, ob zwei schreibgeschützte Sequenzen identisch sind, indem die Elemente mit „IEquatable{T}.Equals(T)“ verglichen werden.

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

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

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 Reihe 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 Reihe 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 bestimmten Elements aus der Spanne.

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

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

Gilt für:

Weitere Informationen