Compartilhar via


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

Guia de Programação C#

Referência

Ponteiro expressões (guia de programação translation from VPE for Csharp)

Tipos de ponteiro (translation from VPE for Csharp Programming guia)

(referência C#) não seguros

Instrução fixa (referência C#)

stackalloc (translation from VPE for Csharp Reference)

Outros recursos

Tipos (referência C#)