Unsafe.Subtract Metoda

Definice

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 Tprvků -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 Tprvků velikosti (ne bajtů) k odečtení ukazatele source . Například vzhledem ke zdroji ukazatele ptr typu ref intvolá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 Tprvků velikosti (ne bajtů) k odečtení ukazatele source . Například vzhledem ke zdroji ukazatele ptr typu ref intvolá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 Tprvků velikosti (ne bajtů) k odečtení ukazatele source . Například vzhledem ke zdroji ukazatele ptr typu ref intvolá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

Platí pro