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
Смещение, вычитаемое.
Возвращаемое значение
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 контексте, если результат слишком мал, чтобы представить.