Unsafe.Subtract Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přetížení
Subtract<T>(Void*, Int32) |
Odečte posun prvku od daného nespravovaného ukazatele. |
Subtract<T>(T, Int32) |
Odečte posun od daného spravovaného ukazatele. |
Subtract<T>(T, IntPtr) |
Odečte posun prvku od daného spravovaného ukazatele. |
Subtract<T>(T, UIntPtr) |
Odečte posun prvku od daného spravovaného ukazatele. |
Subtract<T>(Void*, Int32)
Důležité
Toto rozhraní API neodpovídá specifikaci CLS.
Odečte posun prvku od daného nespravovaného ukazatele.
public:
generic <typename T>
static void* Subtract(void* source, int elementOffset);
public static void* Subtract<T> (void* source, int elementOffset);
[System.CLSCompliant(false)]
public static void* Subtract<T> (void* source, int elementOffset);
static member Subtract : nativeptr<unit> * int -> nativeptr<unit>
[<System.CLSCompliant(false)>]
static member Subtract : nativeptr<unit> * int -> nativeptr<unit>
Parametry typu
- T
Typ, jehož velikost se použije jako měřítko pro elementOffset
.
Parametry
- source
- Void*
Nespravovaný ukazatel, který odečítá posun od.
- elementOffset
- Int32
Posun, který se má odečíst.
Návraty
- Void*
Nový nespravovaný ukazatel, který odráží odčítání zadaného posunu od zdrojového ukazatele.
- Atributy
Poznámky
Parametr elementOffset
je počet T
prvků -size (nikoli bajtů), které se mají z source
ukazatele odebrat. Voláním se například vrátí nový ukazatel,Unsafe.Subtract<int>(ptr, 20)
jehož adresa odkazuje na 80 bajtů (= 20 prvků * 4 bajty na prvek) před ptr.
Pokud elementOffset
je počítaná hodnota místo pevně zakódovaného literálu, volající by měli zvážit možnost přetečení celého čísla. Například ve volání Unsafe.Subtract<int>(ptr, a * b)
musí volající zajistit, aby mezilehlých hodnot a * b
nepřetekl hranice Int32
.
Platí pro
Subtract<T>(T, Int32)
Odečte posun od daného spravovaného ukazatele.
public:
generic <typename T>
static T % Subtract(T % source, int elementOffset);
public static ref T Subtract<T> (ref T source, int elementOffset);
static member Subtract : 'T * int -> 'T
Public Shared Function Subtract(Of T) (ByRef source As T, elementOffset As Integer) As T
Parametry typu
- T
Typ prvku spravovaného ukazatele.
Parametry
- source
- T
Spravovaný ukazatel pro odečtení posunu od.
- elementOffset
- Int32
Posun, který se má odečíst.
Návraty
- T
Nový spravovaný ukazatel, který odráží odčítání zadaného posunu od zdrojového ukazatele.
Poznámky
Parametr elementOffset
je počet T
prvků velikosti (ne bajtů) k odečtení ukazatele source
. Například vzhledem ke zdroji ukazatele ptr typu ref int
volání Unsafe.Subtract<int>(ref ptr, 20)
vrátí nový ukazatel, jehož adresa odkazuje 80 bajtů (= 20 prvků * 4 bajty na prvek) před ptr.
Pokud elementOffset
je počítaná hodnota místo pevně zakódovaného literálu, měli by volající zvážit možnost přetečení celého čísla. Například v volání Unsafe.Subtract<int>(ref ptr, a * b)
musí volající zajistit, aby zprostředkující hodnota a * b
nepřetékala hranice .Int32
Platí pro
Subtract<T>(T, IntPtr)
Odečte posun prvku od daného spravovaného ukazatele.
public:
generic <typename T>
static T % Subtract(T % source, IntPtr elementOffset);
public static ref T Subtract<T> (ref T source, IntPtr elementOffset);
static member Subtract : 'T * nativeint -> 'T
Public Shared Function Subtract(Of T) (ByRef source As T, elementOffset As IntPtr) As T
Parametry typu
- T
Typ prvku spravovaného ukazatele.
Parametry
- source
- T
Spravovaný ukazatel odečítá posun od.
- elementOffset
-
IntPtr
nativeint
Posun k odečtení.
Návraty
- T
Nový spravovaný ukazatel, který odráží odčítání zadaného posunu od zdrojového ukazatele.
Poznámky
Parametr elementOffset
je počet T
prvků velikosti (ne bajtů) k odečtení ukazatele source
. Například vzhledem ke zdroji ukazatele ptr typu ref int
volání Unsafe.Subtract<int>(ref ptr, (nint)20)
vrátí nový ukazatel, jehož adresa odkazuje 80 bajtů (= 20 prvků * 4 bajty na prvek) před ptr.
Pokud elementOffset
je počítaná hodnota místo pevně zakódovaného literálu, měli by volající zvážit možnost přetečení celého čísla. Například v volání Unsafe.Subtract<int>(ref ptr, a * b)
musí volající zajistit, aby zprostředkující hodnota a * b
nepřetékala hranice .IntPtr
Platí pro
Subtract<T>(T, UIntPtr)
Důležité
Toto rozhraní API neodpovídá specifikaci CLS.
Odečte posun prvku od daného spravovaného ukazatele.
public:
generic <typename T>
static T % Subtract(T % source, UIntPtr elementOffset);
public static ref T Subtract<T> (ref T source, nuint elementOffset);
[System.CLSCompliant(false)]
public static ref T Subtract<T> (ref T source, UIntPtr elementOffset);
static member Subtract : 'T * unativeint -> 'T
[<System.CLSCompliant(false)>]
static member Subtract : 'T * unativeint -> 'T
Public Shared Function Subtract(Of T) (ByRef source As T, elementOffset As UIntPtr) As T
Parametry typu
- T
Typ prvku spravovaného ukazatele.
Parametry
- source
- T
Spravovaný ukazatel odečítá posun od.
- elementOffset
-
UIntPtr
nuint
unativeint
Posun k odečtení.
Návraty
- T
Nový spravovaný ukazatel, který odráží odčítání zadaného posunu od zdrojového ukazatele.
- Atributy
Poznámky
Parametr elementOffset
je počet T
prvků velikosti (ne bajtů) k odečtení ukazatele source
. Například vzhledem ke zdroji ukazatele ptr typu ref int
volání Unsafe.Subtract<int>(ref ptr, (nuint)20)
vrátí nový ukazatel, jehož adresa odkazuje 80 bajtů (= 20 prvků * 4 bajty na prvek) před ptr.
Pokud elementOffset
je počítaná hodnota místo pevně zakódovaného literálu, měli by volající zvážit možnost přetečení celého čísla. Například v volání Unsafe.Subtract<int>(ref ptr, a * b)
musí volající zajistit, aby zprostředkující hodnota a * b
nepřetékala hranice .UIntPtr