共用方式為


指標轉換 (C# 程式設計手冊)

下表顯示預先定義的隱含指標轉換。 隱含轉換可能發生在許多狀況,包括方法叫用和指派陳述式。

隱含指標轉換

From

若要

任何指標型別

void*

null

任何指標型別

明確指標轉換是指當沒有隱含轉換時,使用 cast 運算式來執行轉換。 下表顯示這些轉換。

明確指標轉換

From

若要

任何指標型別

其他任何指標型別

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# 程式設計手冊)

unsafe (C# 參考)

fixed 陳述式 (C# 參考)

stackalloc (C# 參考)

概念

C# 程式設計手冊

其他資源

型別 (C# 參考)