Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

Método IntPtr.Subtract

Subtrai um deslocamento de um valor de ponteiro.

Namespace:  System
Assembly:  mscorlib (em mscorlib.dll)

public static IntPtr Subtract(
	IntPtr pointer,
	int offset
)

Parâmetros

pointer
Tipo: System.IntPtr
O ponteiro para subtrair o deslocamento do.
offset
Tipo: System.Int32
O deslocamento subtrair.

Valor de retorno

Tipo: System.IntPtr
Um ponteiro que reflete a subtração de offset de pointer.

O método de Subtract não gerará uma exceção se o resultado for muito pequeno para representar como um ponteiro na plataforma especificada. Em vez disso, a operação de subtração é executada em um contexto desmarcado.

Os idiomas que não dão suporte ao sobrecarregamento de operador ou operadores personalizados podem usar esse método para subtrair um deslocamento de um valor de ponteiro.

O exemplo a seguir cria uma instância de um objeto de IntPtr que aponta para o final de uma matriz de dez elemento, e chame o método de Subtract para iterar os elementos na matriz na ordem inversa.


using System;

public class Example
{
   public static void Main()
   {
      int[] arr = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
      IntPtr ptr = (IntPtr) arr[arr.GetUpperBound(0)];
      for (int ctr = 0; ctr <= arr.GetUpperBound(0); ctr++)
      {
         IntPtr newPtr = IntPtr.Subtract(ptr, ctr);
         Console.Write("{0}   ", newPtr);
      }
   }
}
// The example displays the following output:
//       10   9   8   7   6   5   4   3   2   1


.NET Framework

Com suporte em: 4.5.2, 4.5.1, 4.5, 4

.NET Framework Client Profile

Com suporte em: 4

Biblioteca de Classes Portátil

Com suporte em: Biblioteca de Classes Portátil

.NET para aplicativos da Windows Store

Com suporte em: Windows 8

.NET para aplicativos do Windows Phone

Com suporte em: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Função Server Core sem suporte), Windows Server 2008 R2 (Função Server Core com suporte com o SP1 ou posterior, Itanium sem suporte)

O .NET Framework não oferece suporte a todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte Requisitos do sistema do .NET Framework.

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2014 Microsoft