C# 编辑并继续:错误 4052

当启用“编辑并继续”后,修改包含“stackalloc”运算符的“[方法 | 属性 | 索引器 | 运算符 | 构造函数 | 析构函数 | 事件]”将会阻止调试会话继续进行

您尝试修改包含 stackalloc 运算符的方法、属性、索引器、运算符、构造函数、析构函数或事件。 “编辑并继续”在调试期间不支持此更改。

考虑下列代码:

class Program

{

   unsafe static void Main()

   {

      char* p = stackalloc char[256];

      for (int i = 0; i < 256; i++) p[i] = (char)i;

   }

}

如果单步执行 Main,然后尝试将 int a = 10 作为 Main 的第一行添加,则会发生此错误。

更正此错误

  • 在**“编辑”菜单上单击“撤消”**以撤消代码更改

    - 或 -

    在**“调试”菜单上单击“停止调试”**,更改代码,然后启动新的调试会话。

请参见

参考

stackalloc(C# 参考)

受支持的代码更改 (C#)

编辑并继续 (Visual C#)

其他资源

“编辑并继续”错误和警告 (C#)