UIntPtr.Subtraction(UIntPtr, Int32) Operator
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.
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
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.