UIntPtr.Addition(UIntPtr, Int32) Operator

Definisi

Menambahkan offset ke bilangan bulat yang tidak ditandatangani.

public:
 static UIntPtr operator +(UIntPtr pointer, int offset);
public static UIntPtr operator +(UIntPtr pointer, int offset);
static member ( + ) : unativeint * int -> unativeint
Public Shared Operator + (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.

Keterangan

Metode menentukan Addition operasi penambahan untuk UIntPtr objek. Ini memungkinkan kode seperti berikut.

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 = ptr + ctr;
   Console.WriteLine(newPtr);
}
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 = ptr + UIntPtr(uint i)
    printfn $"{newPtr}"
Dim arr() As Integer = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
Dim ptr = CType(arr(0), UIntPtr)
For ctr As Integer = 0 To arr.Length - 1
   Dim newPtr As UIntPtr = ptr + ctr
   Console.WriteLine(newPtr)
Next

Bahasa yang tidak mendukung operator kustom dapat memanggil metode sebagai gantinya Add .

Operasi penambahan tidak memberikan pengecualian jika hasilnya terlalu besar untuk diwakili sebagai bilangan bulat yang tidak ditandatangani dalam proses eksekusi. Sebaliknya, ini dilakukan dalam konteks yang tidak dicentang.

Di C# mulai dari versi 11 dan saat menargetkan runtime .NET 7 atau yang lebih baru, API ini hanya dapat diakses melalui pantulan. Operator penambahan secara langsung dikenali oleh bahasa dan akan mengikuti perilaku bahasa normal untuk operasi penambahan, termasuk luapan dalam checked konteks jika hasilnya terlalu besar untuk diwakili.

Metode yang setara untuk operator ini adalah UIntPtr.Add(UIntPtr, Int32).

Berlaku untuk

Lihat juga