Condividi tramite


UIntPtr.Subtraction(UIntPtr, Int32) Operatore

Definizione

Sottrae un offset da un intero senza segno.

public:
 static UIntPtr operator -(UIntPtr pointer, int offset);
public static UIntPtr operator - (UIntPtr pointer, int offset);
static member ( - ) : unativeint * int -> unativeint
Public Shared Operator - (pointer As UIntPtr, offset As Integer) As UIntPtr

Parametri

pointer
UIntPtr

unativeint

Intero senza segno da cui sottrarre l'offset.

offset
Int32

Offset da sottrarre.

Restituisce

UIntPtr

unativeint

Nuovo intero senza segno che riflette la sottrazione di offset da pointer.

Commenti

Il Subtraction metodo definisce l'operazione di sottrazione per UIntPtr gli oggetti . Abilita codice come il seguente.

int[] arr = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
UIntPtr ptr = (UIntPtr) arr[arr.GetUpperBound(0)];
for (int ctr = 0; ctr <= arr.GetUpperBound(0); ctr++)
{
   UIntPtr newPtr = ptr - ctr;
   Console.Write("{0}   ", newPtr);
}
let arr = [| 1; 2; 3; 4; 5; 6; 7; 8; 9; 10 |]
let ptr = UIntPtr(uint arr[arr.GetUpperBound 0])
for i = 0 to arr.GetUpperBound 0 do
    let newPtr = ptr - UIntPtr(uint i)
    printf $"{newPtr}   "
Dim arr() As Integer = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
Dim ptr As UIntPtr = CType(arr(arr.GetUpperBound(0)), UIntPtr)
For ctr As Integer= 0 To arr.GetUpperBound(0)
   Dim newPtr As UIntPtr = UIntPtr.Subtract(ptr, ctr)
   Console.Write("{0}   ", newPtr)
Next

Le lingue che non supportano operatori personalizzati possono invece chiamare il Subtract metodo .

L'operazione di sottrazione non genera un'eccezione se il risultato è troppo piccolo per rappresentare come intero senza segno nel processo in esecuzione. Viene invece eseguita in un contesto deselezionato.

In C# a partire dalla versione 11 e quando la destinazione è il runtime .NET 7 o versione successiva, questa API è accessibile solo tramite reflection. L'operatore di sottrazione viene riconosciuto direttamente dalla lingua e seguirà il comportamento normale del linguaggio per le operazioni di sottrazione, incluso l'overflow in un checked contesto se il risultato è troppo piccolo da rappresentare.

Si applica a

Vedi anche