Udostępnij za pośrednictwem


Unsafe.Subtract Metoda

Definicja

Przeciążenia

Subtract<T>(Void*, Int32)

Odejmuje przesunięcie elementu od danego niezarządzanego wskaźnika.

Subtract<T>(T, Int32)

Odejmuje przesunięcie od danego zarządzanego wskaźnika.

Subtract<T>(T, IntPtr)

Odejmuje przesunięcie elementu z danego zarządzanego wskaźnika.

Subtract<T>(T, UIntPtr)

Odejmuje przesunięcie elementu z danego zarządzanego wskaźnika.

Subtract<T>(Void*, Int32)

Źródło:
Unsafe.cs
Źródło:
Unsafe.cs
Źródło:
Unsafe.cs

Ważne

Ten interfejs API nie jest zgodny ze specyfikacją CLS.

Odejmuje przesunięcie elementu od danego niezarządzanego wskaźnika.

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, którego rozmiar będzie używany jako współczynnik skalowania dla elementu elementOffset.

Parametry

source
Void*

Niezarządzany wskaźnik do odejmowania przesunięcia od.

elementOffset
Int32

Przesunięcie w celu odejmowania.

Zwraca

Void*

Nowy niezarządzany wskaźnik, który odzwierciedla odejmowanie określonego przesunięcia ze wskaźnika źródłowego.

Atrybuty

Uwagi

Parametr elementOffset jest liczbą Telementów o rozmiarze (a nie bajtów), które mają zostać usunięte ze source wskaźnika. Na przykład, biorąc pod uwagę wskaźnik źródłowy ptr, wywołanie Unsafe.Subtract<int>(ptr, 20) zwróci nowy wskaźnik, którego punkty adresowe 80 bajtów (= 20 elementów * 4 bajty na element) przed ptr.

Jeśli elementOffset jest wartością obliczeniową, a nie literałem zakodowanym na stałe, wywołujące powinny rozważyć możliwość przepełnienia liczby całkowitej. Na przykład w wywołaniu Unsafe.Subtract<int>(ptr, a * b)obiekt wywołujący musi upewnić się, że wartość a * b pośrednia nie przekracza granic .Int32

Dotyczy

Subtract<T>(T, Int32)

Źródło:
Unsafe.cs
Źródło:
Unsafe.cs
Źródło:
Unsafe.cs

Odejmuje przesunięcie od danego zarządzanego wskaźnika.

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 elementalny zarządzanego wskaźnika.

Parametry

source
T

Zarządzany wskaźnik odejmuje przesunięcie od.

elementOffset
Int32

Przesunięcie w celu odejmowania.

Zwraca

T

Nowy zarządzany wskaźnik, który odzwierciedla odejmowanie określonego przesunięcia od wskaźnika źródłowego.

Uwagi

Parametr elementOffset jest liczbą Telementów o rozmiarze (a nie bajtach) do odejmowania od source wskaźnika. Na przykład, biorąc pod uwagę wskaźnik źródłowy ptr typu ref int, wywołanie Unsafe.Subtract<int>(ref ptr, 20) zwróci nowy wskaźnik, którego punkty adresowe 80 bajtów (= 20 elementów * 4 bajty na element) przed ptr.

Jeśli elementOffset jest wartością obliczeniową, a nie literałem zakodowanym na stałe, wywołujące powinny rozważyć możliwość przepełnienia liczby całkowitej. Na przykład w wywołaniu Unsafe.Subtract<int>(ref ptr, a * b)obiekt wywołujący musi upewnić się, że wartość a * b pośrednia nie przekracza granic .Int32

Dotyczy

Subtract<T>(T, IntPtr)

Źródło:
Unsafe.cs
Źródło:
Unsafe.cs
Źródło:
Unsafe.cs

Odejmuje przesunięcie elementu z danego zarządzanego wskaźnika.

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 elementalny zarządzanego wskaźnika.

Parametry

source
T

Zarządzany wskaźnik odejmuje przesunięcie od.

elementOffset
IntPtr

nativeint

Przesunięcie w celu odejmowania.

Zwraca

T

Nowy zarządzany wskaźnik, który odzwierciedla odejmowanie określonego przesunięcia od wskaźnika źródłowego.

Uwagi

Parametr elementOffset jest liczbą Telementów o rozmiarze (a nie bajtach) do odejmowania od source wskaźnika. Na przykład, biorąc pod uwagę wskaźnik źródłowy ptr typu ref int, wywołanie Unsafe.Subtract<int>(ref ptr, (nint)20) zwróci nowy wskaźnik, którego punkty adresowe 80 bajtów (= 20 elementów * 4 bajty na element) przed ptr.

Jeśli elementOffset jest wartością obliczeniową, a nie literałem zakodowanym na stałe, wywołujące powinny rozważyć możliwość przepełnienia liczby całkowitej. Na przykład w wywołaniu Unsafe.Subtract<int>(ref ptr, a * b)obiekt wywołujący musi upewnić się, że wartość a * b pośrednia nie przekracza granic .IntPtr

Dotyczy

Subtract<T>(T, UIntPtr)

Źródło:
Unsafe.cs
Źródło:
Unsafe.cs
Źródło:
Unsafe.cs

Ważne

Ten interfejs API nie jest zgodny ze specyfikacją CLS.

Odejmuje przesunięcie elementu z danego zarządzanego wskaźnika.

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 elementalny zarządzanego wskaźnika.

Parametry

source
T

Zarządzany wskaźnik odejmuje przesunięcie od.

elementOffset
UIntPtr

nuint

unativeint

Przesunięcie w celu odejmowania.

Zwraca

T

Nowy zarządzany wskaźnik, który odzwierciedla odejmowanie określonego przesunięcia od wskaźnika źródłowego.

Atrybuty

Uwagi

Parametr elementOffset jest liczbą Telementów o rozmiarze (a nie bajtach) do odejmowania od source wskaźnika. Na przykład, biorąc pod uwagę wskaźnik źródłowy ptr typu ref int, wywołanie Unsafe.Subtract<int>(ref ptr, (nuint)20) zwróci nowy wskaźnik, którego punkty adresowe 80 bajtów (= 20 elementów * 4 bajty na element) przed ptr.

Jeśli elementOffset jest wartością obliczeniową, a nie literałem zakodowanym na stałe, wywołujące powinny rozważyć możliwość przepełnienia liczby całkowitej. Na przykład w wywołaniu Unsafe.Subtract<int>(ref ptr, a * b)obiekt wywołujący musi upewnić się, że wartość a * b pośrednia nie przekracza granic .UIntPtr

Dotyczy