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>
type ReadOnlySpan<'T> = struct
Public Structure ReadOnlySpan(Of T)

Typparameter

T

Der Typ der Elemente im ReadOnlySpan<T>.

Vererbung
ReadOnlySpan<T>

Hinweise

ReadOnlySpan<T> ist eine Ref-Struktur , die auf dem Stapel zugewiesen wird und niemals dem verwalteten Heap entkommen kann. Ref-Strukturtypen verfügen über eine Reihe von Einschränkungen, um sicherzustellen, dass sie nicht auf den verwalteten Heap höher gestellt werden können, einschließlich, dass sie nicht in Lambda-Ausdrücken erfasst werden können, die Variablen des Typs Objectdynamic zugewiesen sind, zugewiesen für Variablen, zugewiesen und keine Schnittstellentypen implementieren können.

Eine ReadOnlySpan<T> Instanz wird häufig verwendet, um auf die Elemente eines Arrays oder einen Teil eines Arrays zu verweisen. Im Gegensatz zu einem Array kann eine ReadOnlySpan<T> Instanz jedoch auf verwalteten Speicher, nativen Arbeitsspeicher oder auf dem Stapel verwalteten Speicher verweisen.

Konstruktoren

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

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 nicht vom Benutzercode aufgerufen werden.

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>)

Sucht die Länge eines gemeinsamen Präfixes, das zwischen span und other.

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

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

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.

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>, 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 der 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>, ReadOnlySpan<T>)

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

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>, 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>, ReadOnlySpan<T>)

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

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.

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 sie die Elemente mithilfe einer IEqualityComparer<T>.

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:

Siehe auch