UIntPtr.Add(UIntPtr, Int32) Metode

Definisi

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

UIntPtr

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.

Berlaku untuk

Lihat juga