Преобразования указателей (руководство по программированию в C#)

Обновлен: Ноябрь 2007

В следующей таблице показаны предопределенные неявные преобразования указателей. Неявные преобразования могут выполняться во многих ситуациях, включая вызов методов и операторы назначения.

Неявные преобразования указателей

Из

В

Любой тип указателя

void*

null

Любой тип указателя

Явное преобразование указателя используется для выполнения преобразований, для которых невозможно неявное преобразование, с помощью выражения приведения. В следующей таблице приведено описание этих преобразований.

Явные преобразования указателей

Из

В

Любой тип указателя

Любой другой тип указателя

sbyte, byte, short, ushort, int, uint, long или ulong

Любой тип указателя

Любой тип указателя

sbyte, byte, short, ushort, int, uint, long или ulong

Пример

В следующем пример указатель на int преобразуется в указатель на byte. Обратите внимание на то, что указатель указывает на наименьший адресуемый байт переменной. При последовательном увеличении результата до размера int (4 байта) можно отобразить оставшиеся байты переменной.

// 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
    */

См. также

Основные понятия

Руководство по программированию в C#

Ссылки

Выражения указателей (Руководство по программированию на C#)

Типы указателей (руководство по программированию в C#)

unsafe (Справочник по C#)

Оператор fixed (Справочник по C#)

stackalloc (Справочник по C#)

Другие ресурсы

Типы (справочник по C#)