Поделиться через


Ошибка компилятора CS0255

Обновлен: Ноябрь 2007

Сообщение об ошибке

stackalloc не может использоваться в блоке catch или в блоке finally
stackalloc may not be used in a catch or finally block

Ключевое слово stackalloc не может использоваться в блоке catch или finally. Дополнительные сведения см. в разделе Исключения и обработка исключений (руководство по программированию в C#).

Следующий пример приводит к возникновению ошибки 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()
   {
   }
}