UIntPtr.Subtract(UIntPtr, Int32) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir uzaklığı işaretsiz tamsayıdan çıkarır.
public:
static UIntPtr Subtract(UIntPtr pointer, int offset);
public static UIntPtr Subtract (UIntPtr pointer, int offset);
static member Subtract : unativeint * int -> unativeint
Public Shared Function Subtract (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
unativeint
'den pointer
çıkarma offset
işlemini yansıtan yeni bir işaretsiz tamsayı.
Örnekler
Aşağıdaki örnek, on öğeli bir dizinin sonuna işaret eden bir IntPtr nesnenin örneğini oluşturur ve ardından dizideki öğeleri ters sırada yinelemek için yöntemini çağırır Subtract .
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[arr.GetUpperBound(0)];
for (int ctr = 0; ctr <= arr.GetUpperBound(0); ctr++)
{
UIntPtr newPtr = UIntPtr.Subtract(ptr, ctr);
Console.Write("{0} ", newPtr);
}
}
}
// The example displays the following output:
// 10 9 8 7 6 5 4 3 2 1
open System
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 = UIntPtr.Subtract(ptr, i)
printf $"{newPtr} "
// The example displays the following output:
// 10 9 8 7 6 5 4 3 2 1
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(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
End Sub
End Module
' The example displays the following output:
' 10 9 8 7 6 5 4 3 2 1
Açıklamalar
Yöntem Subtract , sonuç yürütme işleminde işaretsiz bir tamsayı olarak temsil edilemeyecek kadar küçükse bir özel durum oluşturmaz. Bunun yerine çıkarma işlemi denetlenmeyen bir bağlamda gerçekleştirilir.
İşleç aşırı yüklemesini veya özel işleçleri desteklemeyen diller, işaretçinin değerinden uzaklığı çıkarmak için bu yöntemi kullanabilir.