UIntPtr.Subtract(UIntPtr, Int32) Yöntem

Tanım

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

public static UIntPtr Subtract (UIntPtr pointer, int offset);

Parametreler

pointer
UIntPtr

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

offset
Int32

Çıkaracak uzaklık.

Döndürülenler

UIntPtr

'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

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.

Şunlara uygulanır

Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Ayrıca bkz.