UIntPtr.Addition(UIntPtr, Int32) Operator

Definition

Lägger till en förskjutning i 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 läggas till i.

offset
Int32

Förskjutningen som ska läggas till.

Returer

UIntPtr

unativeint

Ett nytt osignerat heltal som återspeglar tillägget av offset till pointer.

Kommentarer

Metoden Addition definierar tilläggså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[0];
for (int ctr = 0; ctr < arr.Length; ctr++)
{
   UIntPtr newPtr = ptr + ctr;
   Console.WriteLine(newPtr);
}
let arr = [| 1; 2; 3; 4; 5; 6; 7; 8; 9; 10 |]
let ptr = UIntPtr(uint arr[0])
for i = 0 to arr.Length - 1 do
    let newPtr = ptr + UIntPtr(uint i)
    printfn $"{newPtr}"
Dim arr() As Integer = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
Dim ptr = CType(arr(0), UIntPtr)
For ctr As Integer = 0 To arr.Length - 1
   Dim newPtr As UIntPtr = ptr + ctr
   Console.WriteLine(newPtr)
Next

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

Additionsåtgärden utlöser inget undantag om resultatet är för stort 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. Additionsoperatorn identifieras direkt av språket och följer det normala språkbeteendet för tilläggsåtgärder, inklusive spill i en checked kontext om resultatet är för stort för att representera.

Motsvarande metod för den här operatorn är UIntPtr.Add(UIntPtr, Int32).

Gäller för

Se även