使用英语阅读

通过


编译器错误 CS0255

stackalloc 不能用在 catch 或 finally 块中

不能在 catchfinally 块中使用 stackalloc 运算符。 有关详细信息,请参阅异常和异常处理

下面的示例生成 CS0255:

// CS0255.cs  
// compile with: /unsafe  
using System;  
  
public class TestTryFinally  
{  
   public static unsafe void Test()  
   {  
      int i = 123;  
      string s = "Some string";  
      object o = s;  
  
      try  
      {  
         // Conversion is not valid; o contains a string not an int  
         i = (int) o;  
      }  
      finally  
      {  
         Console.Write("i = {0}", i);  
         int* fib = stackalloc int[100];   // CS0255  
      }  
   }  
  
   public static void Main()  
   {  
   }  
}