UIntPtr.Subtraction(UIntPtr, Int32) Operador
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Resta un desplazamiento de un entero sin signo.
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
Parámetros
- pointer
-
UIntPtr
unativeint
Entero sin signo del que se va a restar el desplazamiento.
- offset
- Int32
Desplazamiento que se va a restar.
Devoluciones
unativeint
Entero sin signo nuevo que refleja la resta de offset
de pointer
.
Comentarios
El Subtraction método define la operación de resta para UIntPtr los objetos . Habilita código como el siguiente.
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
Los lenguajes que no admiten operadores personalizados pueden llamar al Subtract método en su lugar.
La operación de resta no produce una excepción si el resultado es demasiado pequeño para representarlo como un entero sin signo en el proceso de ejecución. En su lugar, se realiza en un contexto no comprobado.
En C# a partir de la versión 11 y al tener como destino el entorno de ejecución de .NET 7 o posterior, esta API solo es accesible a través de reflexión. El lenguaje reconoce directamente el operador de resta y seguirá el comportamiento normal del lenguaje para las operaciones de resta, incluido el desbordamiento en un checked
contexto si el resultado es demasiado pequeño para representar.