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 ref struktury, která je přidělena v zásobníku a nikdy nemůže utéct ke spravované haldě. Typy ref struktury mají řadu omezení, aby se zajistilo, že je nelze zvýšit na spravovanou haldu, včetně toho, že nelze zachycovat, zachytit ve výrazech lambda, přiřadit proměnným typu Object, přiřadit k dynamic proměnných a nemohou implementovat žádný typ rozhraní.

Instance ReadOnlySpan<T> se často používá k odkazování na prvky pole nebo části pole. Na rozdíl od pole ale instance ReadOnlySpan<T> může odkazovat na spravovanou 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> nad celou zadanou maticí.

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

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

ReadOnlySpan<T>(Void*, Int32)

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

Vlastnosti

Empty

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

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

Přetypuje rozsah jen pro čtení TDerived na rozsah jen pro čtení T.

CopyTo(Span<T>)

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

Equals(Object)
Zastaralé.
Zastaralé.

Nepodporuje se. Vyvolá NotSupportedException.

GetEnumerator()

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

GetHashCode()
Zastaralé.

Nepodporuje se. 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 k podpoře kompilátorů .NET a není určena k zavolání uživatelským kódem.

Slice(Int32)

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

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

TryCopyTo(Span<T>)

Pokusí se zkopírovat obsah tohoto ReadOnlySpan<T> 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á určuje, zda jsou dvě ReadOnlySpan<T> instance stejné.

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

Definuje implicitní převod 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á určuje, jestli se dvě ReadOnlySpan<T> instance nerovnají.

Metody rozšíření

ToImmutableArray<T>(ReadOnlySpan<T>)

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

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

Vyhledá celou seřazenou ReadOnlySpan<T> hodnotu pomocí zadaného IComparable<T> obecného rozhraní.

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

Vyhledá celou seřazenou ReadOnlySpan<T> zadanou hodnotu pomocí zadaného TComparer obecného typu.

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

Vyhledá celou seřazenou ReadOnlySpan<T> hodnotu pomocí zadaného TComparable obecného typu.

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

Najde 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 value1.

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

Vyhledá výskyt value0, value1nebo value2.

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

Vyhledá výskyt některého ze zadaných values.

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

Vyhledá výskyt některého ze zadaných values.

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

Vyhledá jinou hodnotu než zadanou value.

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 values.

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

Vyhledá jinou hodnotu než zadanou values.

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

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

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

Vyhledá libovolnou hodnotu v rozsahu mezi lowInclusive a highInclusive(včetně).

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

Spočítá počet výskytů zadaných value v span.

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

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

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

Určuje, zda se zadaná hodnota zobrazí na konci rozsahu.

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 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 prvního výskytu. Hodnoty se porovnávají pomocí IEquatable{T}. Rovná se(T).

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

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

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

Vyhledá první index libovolné ze zadaných hodnot podobný 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 libovolné ze zadaných hodnot podobný volání IndexOf několikrát pomocí logického operátoru OR.

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

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

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

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

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

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

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

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

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

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

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 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 posledního výskytu. Hodnoty se porovnávají pomocí IEquatable{T}. Rovná se(T).

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

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

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

Vyhledá poslední index libovolné ze zadaných hodnot podobný 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 libovolné ze zadaných hodnot podobný volání LastIndexOf několikrát pomocí logického operátoru OR.

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

Vyhledá poslední index jakékoli jiné hodnoty, než je zadaná value.

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

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

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

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

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

Vyhledá poslední index jakékoli jiné hodnoty, než je zadaná values.

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

Vyhledá poslední index jakékoli jiné hodnoty, než je zadaná values.

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

Vyhledá poslední index libovolné hodnoty mimo rozsah mezi lowInclusive a highInclusive(včetně).

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

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

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

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

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

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

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

Zkopíruje source do destination, nahradí všechny výskyty oldValuenewValue.

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í stejné porovnáním prvků pomocí IEquatable{T}. Rovná se(T).

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

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

Split<T>(ReadOnlySpan<T>, T)

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

Split<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

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

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

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

SplitAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

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

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

Určuje, zda se zadaná hodnota zobrazí na začátku rozsahu.

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ých 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ých 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ých v rozsahu určeném jen pro čtení z rozsahu.

Platí pro

Viz také