Поделиться через


UIntPtr.Subtraction(UIntPtr, Int32) Оператор

Определение

Вычитает смещение из целого числа без знака.

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

Параметры

pointer
UIntPtr

unativeint

Целое число без знака, из который вычитается смещение.

offset
Int32

Вычитаемое смещение.

Возвращаемое значение

UIntPtr

unativeint

Новое целое число без знака, отражающее вычитание offset из pointer.

Комментарии

Метод Subtraction определяет операцию вычитания для UIntPtr объектов . Он включает код, подобный приведенному ниже.

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

Языки, которые не поддерживают пользовательские Subtract операторы, могут вместо этого вызывать метод .

Операция вычитания не создает исключение, если результат слишком мал для представления в виде целого числа без знака в выполняющемся процессе. Вместо этого она выполняется в контексте без флажка.

В C# начиная с версии 11 и при выборе среды выполнения .NET 7 или более поздней версии этот API доступен только через отражение. Оператор вычитания непосредственно распознается языком и будет следовать обычному поведению языка для операций вычитания, включая переполнение в checked контексте, если результат слишком мал для представления.

Применяется к

См. также раздел