Partager via


Unsafe.Subtract Méthode

Définition

Surcharges

Subtract<T>(Void*, Int32)

Soustrait un décalage d’élément du pointeur non managé donné.

Subtract<T>(T, Int32)

Soustrait un décalage du pointeur managé donné.

Subtract<T>(T, IntPtr)

Soustrait un décalage d’élément du pointeur managé donné.

Subtract<T>(T, UIntPtr)

Soustrait un décalage d’élément du pointeur managé donné.

Subtract<T>(Void*, Int32)

Source:
Unsafe.cs
Source:
Unsafe.cs
Source:
Unsafe.cs

Important

Cette API n’est pas conforme CLS.

Soustrait un décalage d’élément du pointeur non managé donné.

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>

Paramètres de type

T

Type dont la taille sera utilisée comme facteur d’échelle pour elementOffset.

Paramètres

source
Void*

Pointeur non managé à partir duquel soustraire le décalage.

elementOffset
Int32

Offset à soustraire.

Retours

Void*

Nouveau pointeur non managé qui reflète la soustraction du décalage spécifié du pointeur source.

Attributs

Remarques

Le elementOffset paramètre correspond au nombre d’éléments de Ttaille (et non d’octets) à supprimer du source pointeur. Par exemple, avec un pointeur source ptr, l’appel Unsafe.Subtract<int>(ptr, 20) retourne un nouveau pointeur dont l’adresse pointe 80 octets (= 20 éléments * 4 octets par élément) avant ptr.

Si elementOffset est une valeur calculée plutôt qu’un littéral codé en dur, les appelants doivent envisager la possibilité d’un dépassement d’entier. Par exemple, dans l’appel Unsafe.Subtract<int>(ptr, a * b), l’appelant doit s’assurer que la valeur a * b intermédiaire ne dépasse pas les limites de Int32.

S’applique à

Subtract<T>(T, Int32)

Source:
Unsafe.cs
Source:
Unsafe.cs
Source:
Unsafe.cs

Soustrait un décalage du pointeur managé donné.

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

Paramètres de type

T

Type élément du pointeur managé.

Paramètres

source
T

Pointeur managé à partir duquel soustraire le décalage.

elementOffset
Int32

Offset à soustraire.

Retours

T

Nouveau pointeur managé qui reflète la soustraction du décalage spécifié du pointeur source.

Remarques

Le elementOffset paramètre est le nombre d’éléments de Ttaille (et non d’octets) à soustraire du source pointeur. Par exemple, étant donné un pointeur source ptr de type ref int, l’appel Unsafe.Subtract<int>(ref ptr, 20) retourne un nouveau pointeur dont l’adresse pointe 80 octets (= 20 éléments * 4 octets par élément) avant ptr.

Si elementOffset est une valeur calculée plutôt qu’un littéral codé en dur, les appelants doivent envisager la possibilité d’un dépassement d’entier. Par exemple, dans l’appel Unsafe.Subtract<int>(ref ptr, a * b), l’appelant doit s’assurer que la valeur a * b intermédiaire ne dépasse pas les limites de Int32.

S’applique à

Subtract<T>(T, IntPtr)

Source:
Unsafe.cs
Source:
Unsafe.cs
Source:
Unsafe.cs

Soustrait un décalage d’élément du pointeur managé donné.

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

Paramètres de type

T

Type élément du pointeur managé.

Paramètres

source
T

Pointeur managé à partir duquel soustraire le décalage.

elementOffset
IntPtr

nativeint

Offset à soustraire.

Retours

T

Nouveau pointeur managé qui reflète la soustraction du décalage spécifié du pointeur source.

Remarques

Le elementOffset paramètre est le nombre d’éléments de Ttaille (et non d’octets) à soustraire du source pointeur. Par exemple, étant donné un pointeur source ptr de type ref int, l’appel Unsafe.Subtract<int>(ref ptr, (nint)20) retourne un nouveau pointeur dont l’adresse pointe 80 octets (= 20 éléments * 4 octets par élément) avant ptr.

Si elementOffset est une valeur calculée plutôt qu’un littéral codé en dur, les appelants doivent envisager la possibilité d’un dépassement d’entier. Par exemple, dans l’appel Unsafe.Subtract<int>(ref ptr, a * b), l’appelant doit s’assurer que la valeur a * b intermédiaire ne dépasse pas les limites de IntPtr.

S’applique à

Subtract<T>(T, UIntPtr)

Source:
Unsafe.cs
Source:
Unsafe.cs
Source:
Unsafe.cs

Important

Cette API n’est pas conforme CLS.

Soustrait un décalage d’élément du pointeur managé donné.

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

Paramètres de type

T

Type élément du pointeur managé.

Paramètres

source
T

Pointeur managé à partir duquel soustraire le décalage.

elementOffset
UIntPtr

nuint

unativeint

Offset à soustraire.

Retours

T

Nouveau pointeur managé qui reflète la soustraction du décalage spécifié du pointeur source.

Attributs

Remarques

Le elementOffset paramètre est le nombre d’éléments de Ttaille (et non d’octets) à soustraire du source pointeur. Par exemple, étant donné un pointeur source ptr de type ref int, l’appel Unsafe.Subtract<int>(ref ptr, (nuint)20) retourne un nouveau pointeur dont l’adresse pointe 80 octets (= 20 éléments * 4 octets par élément) avant ptr.

Si elementOffset est une valeur calculée plutôt qu’un littéral codé en dur, les appelants doivent envisager la possibilité d’un dépassement d’entier. Par exemple, dans l’appel Unsafe.Subtract<int>(ref ptr, a * b), l’appelant doit s’assurer que la valeur a * b intermédiaire ne dépasse pas les limites de UIntPtr.

S’applique à