ReadOnlySpan<T> Struktura

Definice

Poskytuje typově bezpečnou a paměťově bezpečnou reprezentaci jen pro čtení souvislé oblasti libovolné paměti.

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 položek v .ReadOnlySpan<T>

Dědičnost
ReadOnlySpan<T>
Atributy

Poznámky

ReadOnlySpan<T> je referenční struktura , která je přidělena v zásobníku a nikdy nemůže uniknout do spravované haldy. Typy struktury Ref mají řadu omezení, která zajišťují, že není možné je povýšit na spravovanou haldu, včetně toho, že je nelze zařazovat do rámečku, zaznamenávat ve výrazech lambda, přiřazovat proměnným typu Object, přiřadit k dynamic proměnným a nemůžou implementovat žádný typ rozhraní.

Instance ReadOnlySpan<T> se často používá k odkazování na prvky pole nebo část pole. Na rozdíl od pole však instance může odkazovat na spravovanou ReadOnlySpan<T> paměť, nativní paměť nebo paměť spravovanou v zásobníku.

Konstruktory

ReadOnlySpan<T>(T)

Vytvoří nový ReadOnlySpan<T> o délce 1 kolem zadaného odkazu.

ReadOnlySpan<T>(T[])

Vytvoří nové ReadOnlySpan<T> v celém rozsahu zadaného pole.

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

Vytvoří nový ReadOnlySpan<T> , který zahrnuje zadaný počet prvků pole počínaje zadaným indexem.

ReadOnlySpan<T>(Void*, Int32)

Vytvoří nový ReadOnlySpan<T> ze zadaného T počtu prvků počínaje zadanou adresou paměti.

Vlastnosti

Empty

Vrátí prázdnou ReadOnlySpan<T>hodnotu .

IsEmpty

Vrátí hodnotu, která označuje, že aktuální rozsah jen pro čtení je prázdný.

Item[Int32]

Získá položku z rozsahu jen pro čtení v zadaném indexu založeném na nule.

Length

Počet položek v rozsahu jen pro čtení.

Metody

CastUp<TDerived>(ReadOnlySpan<TDerived>)

Poskytuje typově bezpečnou a paměťově bezpečnou reprezentaci jen pro čtení souvislé oblasti libovolné paměti.

CopyTo(Span<T>)

Zkopíruje obsah do ReadOnlySpan<T> cílového objektu Span<T>.

Equals(Object)
Zastaralé.
Zastaralé.

Nepodporováno Vyvolá .NotSupportedException

GetEnumerator()

Vrátí enumerátor pro tento ReadOnlySpan<T>objekt .

GetHashCode()
Zastaralé.

Nepodporováno Vyvolá .NotSupportedException

GetPinnableReference()

Vrátí odkaz jen pro čtení na objekt typu T, který lze použít pro připnutí.

Tato metoda je určena pro podporu kompilátorů .NET a není určena k vyvolání uživatelským kódem.

Slice(Int32)

Vytvoří řez z aktuálního rozsahu jen pro čtení, který začíná zadaným indexem.

Slice(Int32, Int32)

Vytvoří řez z aktuálního rozsahu jen pro čtení počínaje zadaným indexem pro zadanou délku.

ToArray()

Zkopíruje obsah tohoto rozsahu jen pro čtení do nového pole.

ToString()

Vrátí řetězcovou reprezentaci tohoto ReadOnlySpan<T>souboru .

TryCopyTo(Span<T>)

Pokusí se zkopírovat obsah tohoto ReadOnlySpan<T> souboru do Span<T> a vrátí hodnotu označující, zda operace proběhla úspěšně.

Operátory

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

Vrátí hodnotu, která označuje, zda jsou dvě ReadOnlySpan<T> instance rovny.

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

Definuje implicitní převod objektu ArraySegment<T> na ReadOnlySpan<T>.

Implicit(T[] to ReadOnlySpan<T>)

Definuje implicitní převod pole na ReadOnlySpan<T>.

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

Vrátí hodnotu, která označuje, zda si dvě ReadOnlySpan<T> instance nejsou rovny.

Metody rozšíření

ToImmutableArray<T>(ReadOnlySpan<T>)

Vytvoří neměnné pole obsahu ze zadaných prvků.

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

Vyhledá hodnotu v celé seřazené ReadOnlySpan<T> hodnotě pomocí zadaného IComparable<T> obecného rozhraní.

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

Vyhledá zadanou hodnotu v celé seřazené ReadOnlySpan<T> hodnotě pomocí zadaného TComparer obecného typu.

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

Vyhledá hodnotu se zadaným TComparable obecným typem v celé seřazené ReadOnlySpan<T> hodnotě.

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

Vyhledá délku jakékoli společné předpony sdílené mezi span a other.

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

Určuje délku jakékoli společné předpony sdílené mezi span a other.

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

Určuje, zda je zadaná hodnota nalezena v rozsahu jen pro čtení. Hodnoty se porovnávají pomocí IEquatable{T}. Rovná se(T).

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

Vyhledá výskyt value0 nebo value1a vrátí true , pokud je nalezen. Pokud není nalezen, vrátí falsehodnotu .

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

Vyhledá výskyt value0, value1nebo value2a vrátí true , pokud se najde. Pokud není nalezen, vrátí falsehodnotu .

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

Vyhledá výskyt některého ze zadaných values a vrátí true , pokud je nalezen. Pokud není nalezen, vrátí falsehodnotu .

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

Vyhledá výskyt některého ze zadaných values a vrátí true , pokud je nalezen. Pokud není nalezen, vrátí falsehodnotu .

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

Vyhledá jinou hodnotu než zadanou valuehodnotu .

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

Vyhledá jinou hodnotu než value0 nebo value1.

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

Vyhledá jinou hodnotu než value0, value1nebo value2.

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

Vyhledá jinou hodnotu než zadanou valueshodnotu .

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

Vyhledá jinou hodnotu než zadanou valueshodnotu .

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

Vyhledá libovolnou hodnotu mimo rozsah mezi lowInclusive a včetně highInclusive.

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

Vyhledá libovolnou hodnotu v rozsahu mezi lowInclusive a highInclusive, včetně, a vrátí true hodnotu, pokud je nalezena. Pokud není nalezen, vrátí falsehodnotu .

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

Spočítá počet výskytů v zadaném value parametru span.

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

Spočítá počet výskytů value v spansouboru .

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

Určuje, zda se zadaná sekvence zobrazí na konci rozsahu jen pro čtení.

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

Vyhledá zadanou hodnotu a vrátí index jejího prvního výskytu. Hodnoty se porovnávají pomocí IEquatable{T}. Rovná se(T).

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

Vyhledá zadanou sekvenci a vrátí index jejího prvního výskytu. Hodnoty se porovnávají pomocí IEquatable{T}. Rovná se(T).

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

Vyhledá první index některé ze zadaných hodnot, podobně jako volání IndexOf několikrát pomocí logického operátoru OR.

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

Vyhledá první index některé ze zadaných hodnot, podobně jako volání IndexOf několikrát pomocí logického operátoru OR.

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

Vyhledá první index libovolné ze zadaných hodnot.

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

Vyhledá první index některé ze zadaných hodnot, podobně jako volání IndexOf několikrát pomocí logického operátoru OR.

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

Vyhledá první index libovolné hodnoty kromě zadané valuehodnoty .

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

Vyhledá první index jakékoli jiné hodnoty než zadané value0 nebo value1.

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

Vyhledá první index jakékoli jiné hodnoty než zadané value0hodnoty , value1nebo value2.

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

Vyhledá první index libovolné hodnoty kromě zadané valueshodnoty .

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

Vyhledá první index libovolné hodnoty kromě zadané valueshodnoty .

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

Vyhledá první index libovolné hodnoty mimo rozsah mezi lowInclusive a highInclusivevčetně.

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

Vyhledá první index libovolné hodnoty v rozsahu mezi lowInclusive a highInclusivevčetně.

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

Vyhledá zadanou hodnotu a vrátí index jejího posledního výskytu. Hodnoty se porovnávají pomocí IEquatable{T}. Rovná se(T).

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

Vyhledá zadanou sekvenci a vrátí index jejího posledního výskytu. Hodnoty se porovnávají pomocí IEquatable{T}. Rovná se(T).

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

Vyhledá poslední index některé ze zadaných hodnot podobně jako volání LastIndexOf několikrát pomocí logického operátoru OR.

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

Vyhledá poslední index některé ze zadaných hodnot podobně jako volání LastIndexOf několikrát pomocí logického operátoru OR.

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

Vyhledá poslední index libovolné ze zadaných hodnot.

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

Vyhledá poslední index některé ze zadaných hodnot podobně jako volání LastIndexOf několikrát pomocí logického operátoru OR.

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

Vyhledá poslední index libovolné hodnoty kromě zadané valuehodnoty .

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

Vyhledá poslední index jakékoli jiné hodnoty než zadané value0 nebo value1.

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

Vyhledá poslední index libovolné hodnoty kromě zadané value0hodnoty , value1nebo value2.

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

Vyhledá poslední index libovolné hodnoty kromě zadané valueshodnoty .

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

Vyhledá poslední index libovolné hodnoty kromě zadané valueshodnoty .

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

Vyhledá poslední index libovolné hodnoty mimo rozsah mezi lowInclusive a highInclusivevčetně.

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

Vyhledá poslední index libovolné hodnoty v rozsahu mezi lowInclusive a včetně highInclusive.

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

Určuje, zda se v paměti překrývají dvě sekvence jen pro čtení.

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

Určuje, zda se dvě sekvence jen pro čtení překrývají v paměti a vypíše posun prvku.

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

Zkopíruje source do destinationa nahradí všechny výskyty oldValue řetězcem newValue.

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

Určuje relativní pořadí dvou sekvencí jen pro čtení porovnáním jejich prvků pomocí funkce IComparable{T}. CompareTo(T).

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

Určuje, zda jsou dvě sekvence jen pro čtení rovny porovnáním prvků pomocí funkce IEquatable{T}. Rovná se(T).

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

Určuje, zda jsou si dvě sekvence rovny, porovnáním prvků pomocí IEqualityComparer<T>.

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

Určuje, zda se zadaná sekvence zobrazí na začátku rozsahu jen pro čtení.

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

Odebere všechny počáteční a koncové výskyty zadaného prvku z rozsahu jen pro čtení.

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

Odebere všechny počáteční a koncové výskyty sady prvků zadané v rozsahu jen pro čtení z rozsahu jen pro čtení.

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

Odebere všechny koncové výskyty zadaného prvku z rozsahu jen pro čtení.

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

Odebere všechny koncové výskyty sady prvků zadané v rozsahu jen pro čtení z rozsahu jen pro čtení.

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

Odebere všechny počáteční výskyty zadaného prvku z rozsahu.

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

Odebere všechny počáteční výskyty sady prvků zadané v rozsahu jen pro čtení z rozsahu.

Platí pro

Viz také