UIntPtr.Add(UIntPtr, Int32) Metod

Definition

Lägger till en förskjutning i ett osignerat heltal.

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

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.

Exempel

I följande exempel instansierar ett UIntPtr objekt som pekar på början av en tioelementsmatris och anropar Add sedan metoden för att iterera elementen i matrisen.

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

Kommentarer

Metoden Add 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 additionsåtgärden i en omarkerad kontext.

Språk som inte stöder överlagring av operatorer eller anpassade operatorer kan använda den här metoden för att lägga till en förskjutning till värdet för en pekare.

Gäller för

Se även