UIntPtr.Add(UIntPtr, Int32) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menambahkan offset ke bilangan bulat yang tidak ditandatangani.
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
Parameter
- pointer
-
UIntPtr
unativeint
Bilangan bulat yang tidak ditandatangani untuk menambahkan offset.
- offset
- Int32
Offset yang akan ditambahkan.
Mengembalikan
unativeint
Bilangan bulat baru yang tidak ditandatangani yang mencerminkan penambahan offset ke pointer.
Contoh
Contoh berikut membuat instans UIntPtr objek yang menunjuk ke awal array sepuluh elemen, lalu memanggil Add metode untuk melakukan iterasi elemen dalam array.
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
Keterangan
Metode Add ini tidak memberikan pengecualian jika hasilnya terlalu besar untuk diwakili sebagai bilangan bulat yang tidak ditandatangani dalam proses eksekusi. Sebagai gantinya, operasi penambahan dilakukan dalam konteks yang tidak dicentang.
Bahasa yang tidak mendukung kelebihan beban operator atau operator kustom dapat menggunakan metode ini untuk menambahkan offset ke nilai pointer.