UIntPtr.Subtraction(UIntPtr, Int32) Operator

Definition

Subtraherar en förskjutning från ett osignerat heltal.

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

Parametrar

pointer
UIntPtr

unativeint

Det osignerade heltal som förskjutningen ska subtraheras från.

offset
Int32

Förskjutningen för att subtrahera.

Returer

UIntPtr

unativeint

Ett nytt osignerat heltal som återspeglar subtraktionen av offset från pointer.

Kommentarer

Metoden Subtraction definierar subtraktionsåtgärden för UIntPtr objekt. Den aktiverar kod, till exempel följande.

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

Språk som inte stöder anpassade operatorer kan anropa Subtract metoden i stället.

Subtraktionsåtgärden utlöser inget undantag om resultatet är för litet för att representeras som ett osignerat heltal i körningsprocessen. I stället utförs den i en omarkerad kontext.

I C# från version 11 och när du riktar in dig på .NET 7 eller senare körning är det här API:et endast tillgängligt via reflektion. Subtraktionsoperatorn identifieras direkt av språket och följer det normala språkbeteendet för subtraktionsåtgärder, inklusive spill i en checked kontext om resultatet är för litet för att representera.

Gäller för

Se även