溫馨提示×

在C#中如何使用fixed修飾符

c#
小樊
84
2024-08-27 03:40:17
欄目: 編程語言

在C#中,fixed關(guān)鍵字用于固定變量的內(nèi)存地址,從而防止垃圾回收器移動它

下面是一個簡單的示例,演示了如何使用fixed關(guān)鍵字:

using System;

class Program
{
    static unsafe void Main()
    {
        // 創(chuàng)建一個整數(shù)數(shù)組
        int[] numbers = { 1, 2, 3, 4, 5 };

        // 使用fixed關(guān)鍵字固定數(shù)組的內(nèi)存地址
        fixed (int* ptr = numbers)
        {
            // 使用指針訪問數(shù)組元素
            for (int i = 0; i< numbers.Length; i++)
            {
                Console.WriteLine("Element {0} is at address {1}", i, (IntPtr)(ptr + i));
            }
        }
    }
}

在這個示例中,我們首先創(chuàng)建了一個整數(shù)數(shù)組。然后,我們使用fixed關(guān)鍵字固定數(shù)組的內(nèi)存地址,并將其分配給一個指針變量ptr。接下來,我們使用指針遍歷數(shù)組并打印每個元素的地址。

需要注意的是,為了使用fixed關(guān)鍵字和指針,你需要在代碼文件的開頭添加unsafe關(guān)鍵字,并確保在項目設(shè)置中啟用“允許不安全代碼”選項。

0