UIntPtr.Add(UIntPtr, Int32) Método

Definición

Agrega un desplazamiento a un entero sin signo.

public:
 static UIntPtr Add(UIntPtr pointer, int offset);
public static UIntPtr Add (UIntPtr pointer, int offset);
static member Add : unativeint * int -> unativeint
Public Shared Function Add (pointer As UIntPtr, offset As Integer) As UIntPtr

Parámetros

pointer
UIntPtr

unativeint

Entero sin signo al que se va a agregar el desplazamiento.

offset
Int32

Desplazamiento que se va a sumar.

Devoluciones

UIntPtr

unativeint

Nuevo entero sin signo que refleja la adición de offset a pointer.

Ejemplos

En el ejemplo siguiente se crea una instancia de un UIntPtr objeto que apunta al principio de una matriz de diez elementos y, a continuación, se llama al Add método para iterar los elementos de la matriz.

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[0];
      for (int ctr = 0; ctr < arr.Length; ctr++)
      {
         UIntPtr newPtr = UIntPtr.Add(ptr, ctr);
         Console.Write("{0}   ", newPtr);
      }      
   }
}
// The example displays the following output:
//       1   2   3   4   5   6   7   8   9   10
open System

let arr = [| 1; 2; 3; 4; 5; 6; 7; 8; 9; 10 |]
let ptr = UIntPtr(uint arr[0])
for i = 0 to arr.Length - 1 do
    let newPtr = UIntPtr.Add(ptr, i)
    printf $"{newPtr}   "
// The example displays the following output:
//       1   2   3   4   5   6   7   8   9   10
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(0), UIntPtr)
      For ctr As Integer= 0 To arr.Length - 1
         Dim newPtr As UIntPtr = UIntPtr.Add(ptr, ctr)
         Console.Write("{0}   ", newPtr)
      Next
   End Sub
End Module
' The example displays the following output:
'       1   2   3   4   5   6   7   8   9   10

Comentarios

El Add método no produce una excepción si el resultado es demasiado grande para representar como un entero sin signo en el proceso de ejecución. En su lugar, la operación de suma se realiza en un contexto no comprobado.

Los lenguajes que no admiten la sobrecarga del operador o los operadores personalizados pueden usar este método para agregar un desplazamiento al valor de un puntero.

Se aplica a

Consulte también