Aracılığıyla paylaş


UIntPtr.Subtraction(UIntPtr, Int32) Operatör

Tanım

Bir uzaklığı işaretsiz tamsayıdan çıkarır.

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

Parametreler

pointer
UIntPtr

unativeint

Uzaklığı çıkarmak için işaretsiz tamsayı.

offset
Int32

Çıkaracak uzaklık.

Döndürülenler

UIntPtr

unativeint

'den pointerçıkarma offset işlemini yansıtan yeni bir işaretsiz tamsayı.

Açıklamalar

Subtraction yöntemi, nesneler için UIntPtr çıkarma işlemini tanımlar. Aşağıdaki gibi bir kodu etkinleştirir.

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

Özel işleçleri desteklemeyen diller bunun yerine yöntemini çağırabilir Subtract .

Sonuç yürütme işleminde işaretsiz bir tamsayı olarak temsil edilemeyecek kadar küçükse çıkarma işlemi özel durum oluşturmaz. Bunun yerine, denetlenmeyen bir bağlamda gerçekleştirilir.

C# sürümünde sürüm 11'den başlayarak ve .NET 7 veya üzeri çalışma zamanını hedeflerken bu API'ye yalnızca yansıma üzerinden erişilebilir. Çıkarma işleci doğrudan dil tarafından tanınır ve sonucun gösterilemeyecek kadar küçük olması durumunda bir checked bağlamda taşma da dahil olmak üzere çıkarma işlemleri için normal dil davranışını izler.

Şunlara uygulanır

Ayrıca bkz.