垃圾收集器可能移動物件,使用指標時需防止移動。fixed 指示 GC 不要移動特定物件,僅限 unsafe 區塊。
public class FixedClass
{
public static void PointyMethod(char[] array)
{
unsafe
{
fixed (char* p = array)
{
for (int i = 0; i < array.Length; i++)
Console.Write(*(p + i));
}
}
}
static void Main()
{
char[] array = { 'H', 'e', 'l', 'l', 'o' };
PointyMethod(array);
}
}
C# 融合 C++ 功能、Java 簡潔、VB 易用性,是 J2EE 遷移 .NET 的最佳選擇。本系列已涵蓋語言核心差異,助開發者快速上手。