Как сказано в книге Программирование Microsoft Dynamics AX 2009 года: Начиная необходимо поместить точки с запятой после объявлений в x ++:
Дополнительная точка с запятой после объявления переменной обязательна, пока первая строка кода не является ключевым словом. Точка с запятой говорит компилятору, что объявления переменной закончились. Вы не можете объявить новые переменные после этой точки с запятой.
(скопированный непосредственно с книги, неизменной, в случае необходимости, я удалю его),
Однако, когда я удаляю точку с запятой и выполняю задание, нет абсолютно никакой ошибки или проблемы:
static void Job1(Args _args)
{
str string1 = "STACKOVERFLOW";
;
print string1;
pause;
}
работы так же, как
static void Job2(Args _args)
{
str string1 = "STACKOVERFLOW";
print string1;
pause;
}
Это действительно необходимо? Я должен привыкнуть к использованию его?
Это объясняется довольно элегантно здесь .
Ключевая цитата [emphasis mine]:
"Причина, по которой вам нужна эта дополнительная точка с запятой, заключается в том, что компилятор не всегда видит, где заканчиваются декларации переменных . Если Вы не поможете немного, то это сделает догадку. И угадывать не очень хорошо"
Пока компилятор анализирует код, он проверяет, совпадает ли первое слово в строке с именем типа (AOT object). Если это имя типа, то компилятор рассматривает строку как объявление переменной. В этом случае имя переменной должно быть следующим.
Нужна точка с запятой только в том случае, если тело вашего кода не начинается с ключевого слова. В Вашем примере код начинается с print
, которое является встроенным ключевым словом. Если бы вы попытались начать код с: string1+=".COM";
вы бы получили ошибку.
Dynamics AX 2009 - последняя версия AX, для которой потребуется дополнительная точка с запятой. AX 6.0 должен это исправить: mfp - два цента: Что с этой точкой с запятой?