UIntPtr.Addition(UIntPtr, Int32) Operátor

Definice

Přidá posun na celé číslo bez znaménka.

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

Parametry

pointer
UIntPtr

unativeint

Celé číslo bez znaménka pro přidání posunu.

offset
Int32

Posun, který se má přidat.

Návraty

UIntPtr

unativeint

Nové celé číslo bez znaménka, které odráží sčítání offset do pointer.

Poznámky

Metoda Addition definuje operaci sčítání pro UIntPtr objekty. Umožňuje například následující kód.

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

Jazyky, které nepodporují vlastní operátory, mohou místo toho metodu Add volat.

Operace sčítání nevyvolá výjimku, pokud je výsledek příliš velký, aby představoval jako celé číslo bez znaménka v průběhu procesu provádění. Místo toho se provádí v nezaškrtnutém kontextu.

V jazyce C# od verze 11 a při cílení na modul runtime .NET 7 nebo novější je toto rozhraní API přístupné pouze prostřednictvím reflexe. Operátor sčítání je přímo rozpoznán jazykem a bude dodržovat normální chování jazyka pro operace sčítání, včetně přetečení v checked kontextu, pokud je výsledek příliš velký na reprezentaci.

Ekvivalentní metoda tohoto operátoru je UIntPtr.Add(UIntPtr, Int32).

Platí pro

Viz také