Sdílet prostřednictvím


UIntPtr.Add(UIntPtr, Int32) Metoda

Definice

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

public:
 static UIntPtr Add(UIntPtr pointer, int offset);
public static UIntPtr Add (UIntPtr pointer, int offset);
static member Add : unativeint * int -> unativeint
Public Shared Function Add (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áží přidání offset do pointer.

Příklady

Následující příklad vytvoří instanci UIntPtr objektu, který odkazuje na začátek pole s deseti elementy a potom volá metodu Add iterace prvků v poli.

using System;

public class Example
{
   public static void Main()
   {
      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 = UIntPtr.Add(ptr, ctr);
         Console.Write("{0}   ", newPtr);
      }      
   }
}
// The example displays the following output:
//       1   2   3   4   5   6   7   8   9   10
open System

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 = UIntPtr.Add(ptr, i)
    printf $"{newPtr}   "
// The example displays the following output:
//       1   2   3   4   5   6   7   8   9   10
Module Example
   Public Sub Main()
      Dim arr() As Integer = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
      Dim ptr As UIntPtr = CType(arr(0), UIntPtr)
      For ctr As Integer= 0 To arr.Length - 1
         Dim newPtr As UIntPtr = UIntPtr.Add(ptr, ctr)
         Console.Write("{0}   ", newPtr)
      Next
   End Sub
End Module
' The example displays the following output:
'       1   2   3   4   5   6   7   8   9   10

Poznámky

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

Jazyky, které nepodporují přetížení operátoru nebo vlastní operátory mohou tuto metodu použít k přidání posunu k hodnotě ukazatele.

Platí pro

Viz také