Unsafe.Subtract Méthode
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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é. |
- 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
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 T
taille (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 à
.NET 9 et autres versions
Produit | Versions |
---|---|
.NET | Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 4.7 (package-provided), 4.7.1 (package-provided), 4.7.2 (package-provided), 4.8 (package-provided) |
.NET Standard | 2.0 (package-provided) |
- 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
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 T
taille (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 à
.NET 9 et autres versions
Produit | Versions |
---|---|
.NET | Core 1.1, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 4.7 (package-provided), 4.7.1 (package-provided), 4.7.2 (package-provided), 4.8 (package-provided) |
.NET Standard | 2.0 (package-provided) |
- 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
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 T
taille (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 à
.NET 9 et autres versions
Produit | Versions |
---|---|
.NET | Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 4.7 (package-provided), 4.7.1 (package-provided), 4.7.2 (package-provided), 4.8 (package-provided) |
.NET Standard | 2.0 (package-provided) |
- 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
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 T
taille (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 à
.NET 9 et autres versions
Produit | Versions |
---|---|
.NET | 6, 7, 8, 9 |
.NET Framework | 4.7 (package-provided), 4.7.1 (package-provided), 4.7.2 (package-provided), 4.8 (package-provided) |
.NET Standard | 2.0 (package-provided) |
Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires :