UIntPtr.Subtraction(UIntPtr, Int32) Operator

Definisi

Mengurangi offset dari 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 mengurangi offset.

offset
Int32

Offset untuk mengurangi.

Mengembalikan

UIntPtr

unativeint

Bilangan bulat baru yang tidak ditandatangani yang mencerminkan pengurangan dari offsetpointer.

Keterangan

Metode mendefinisikan Subtraction operasi pengurangan untuk UIntPtr objek. Ini memungkinkan kode seperti berikut.

int[] arr = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
UIntPtr ptr = (UIntPtr) arr[arr.GetUpperBound(0)];
for (int ctr = 0; ctr <= arr.GetUpperBound(0); ctr++)
{
   UIntPtr newPtr = ptr - ctr;
   Console.Write("{0}   ", newPtr);
}
let arr = [| 1; 2; 3; 4; 5; 6; 7; 8; 9; 10 |]
let ptr = UIntPtr(uint arr[arr.GetUpperBound 0])
for i = 0 to arr.GetUpperBound 0 do
    let newPtr = ptr - UIntPtr(uint i)
    printf $"{newPtr}   "
Dim arr() As Integer = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
Dim ptr As UIntPtr = CType(arr(arr.GetUpperBound(0)), UIntPtr)
For ctr As Integer= 0 To arr.GetUpperBound(0)
   Dim newPtr As UIntPtr = UIntPtr.Subtract(ptr, ctr)
   Console.Write("{0}   ", newPtr)
Next

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

Operasi pengurangan tidak melemparkan pengecualian jika hasilnya terlalu kecil 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 pengurangan secara langsung dikenali oleh bahasa dan akan mengikuti perilaku bahasa normal untuk operasi pengurangan, termasuk meluap dalam checked konteks jika hasilnya terlalu kecil untuk diwakili.

Berlaku untuk

Lihat juga