Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Встроенный оператор не может быть объявлением или оператором с меткой
Внедренная инструкция, например инструкции, следующие после оператора if, не может содержать ни объявления, ни помеченные инструкции.
Чтобы устранить эту ошибку, заключите встроенную инструкцию в фигурные скобки, чтобы создать блок инструкций. В C#, в отличие от C/C++, объявления переменных и помеченные операторы должны содержаться в инструкции блока, чтобы правильно определить их область.
Пример ниже дважды приводит к появлению ошибки CS1023:
// CS1023.cs
public class a
{
public static void Main()
{
if (1)
int i; // CS1023, declaration is not valid here
if (1)
xx : i++; // CS1023, labeled statement is not valid here
}
}
Пример: исправленный код
Чтобы устранить эту ошибку, используйте фигурные скобки для создания блочного выражения.
// CS1023 - Fixed.cs
public class a
{
public static void Main()
{
if (1)
{
int i; // Fixed: declaration is now in a block statement
}
int j = 0;
if (1)
{
xx : j++; // Fixed: labeled statement is now in a block statement
}
}
}