为什么在 .NET 中有两种不同的方式锁定内存?它们之间有什么区别?
Ted Smith
问问题
641 次
1 回答
16
fixed 语句在unsafe 修饰符的上下文中使用。Unsafe 声明您将使用指针算术(例如:低级 API 调用),这超出了正常的 C# 操作。固定语句用于将内存锁定到位,以便垃圾收集器在它仍在使用时不会重新分配它。您不能在不安全的上下文之外使用固定语句。
例子
public static void PointyMethod(char[] array)
{
unsafe
{
fixed (char *p = array)
{
for (int i=0; i<array.Length; i++)
{
System.Console.Write(*(p+i));
}
}
}
}
于 2009-02-27T13:13:19.797 回答