Conversões de ponteiro (guia de programação translation from VPE for Csharp)
A tabela a seguir mostra as conversões de ponteiro implícito predefinidos.Conversões implícitas podem ocorrer em diversas situações, incluindo chamadas de métodos e instruções de atribuição de valores a variáveis ou propriedades.
Conversões implícitas ponteiro
From |
Para |
---|---|
Qualquer tipo de ponteiro |
void * |
Nulo |
Qualquer tipo de ponteiro |
Conversão explícita de ponteiro é usado para realizar conversões, para o qual não haja nenhuma conversão implícita, usando uma expressão de conversão.A tabela a seguir mostra estas conversões.
Conversões explícitas de ponteiro
From |
Para |
---|---|
Qualquer tipo de ponteiro |
Qualquer Outros tipo de ponteiro |
SByte, byte, short, ushort, int, uint, longa ou ulong |
Qualquer tipo de ponteiro |
Qualquer tipo de ponteiro |
SByte, byte, short, ushort, int, uint, longa ou ulong |
Exemplo
No exemplo a seguir, um ponteiro para int é convertido em um ponteiro para byte. Observe que o ponteiro aponta para o byte da variável endereçado menor.Quando você sucessivamente incrementa o resultado, até o dimensionar de int (4 bytes), você pode exibir os bytes remanescentes da variável.
// compile with: /unsafe
class ClassConvert
{
static void Main()
{
int number = 1024;
unsafe
{
// Convert to byte:
byte* p = (byte*)&number;
System.Console.Write("The 4 bytes of the integer:");
// Display the 4 bytes of the int variable:
for (int i = 0 ; i < sizeof(int) ; ++i)
{
System.Console.Write(" {0:X2}", *p);
// Increment the pointer:
p++;
}
System.Console.WriteLine();
System.Console.WriteLine("The value of the integer: {0}", number);
// Keep the console window open in debug mode.
System.Console.WriteLine("Press any key to exit.");
System.Console.ReadKey();
}
}
}
/* Output:
The 4 bytes of the integer: 00 04 00 00
The value of the integer: 1024
*/
Consulte também
Conceitos
Referência
Ponteiro expressões (guia de programação translation from VPE for Csharp)
Tipos de ponteiro (translation from VPE for Csharp Programming guia)
Instrução fixa (referência C#)
stackalloc (translation from VPE for Csharp Reference)