UIntPtr.Add(UIntPtr, Int32) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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
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.