Спецификация языка C # определяет создание грамматики empty-* , что позволяет мне сделать что-то вроде этого:
static void Main(string[] args) { ; ; ; }
Почему Microsoft включила это производство грамматики в язык C #? Есть ли у него полезная цель?
Для чего это стоит, хорошее правило большой палец, что вы должны были шагнуть в отладчике каждую строку кода, которую вы пишете, по крайней мере, один раз для каждый возможный путь выполнения
ref: Возможно, ошибочное пустое утверждение
Эрик Липперт хороший человек, чтобы спросить.
В основном, я полагаю, это потому, что это не принесет никакого вреда и упростит обработку грамматики. Кроме того, зачем ограничивать людей, когда это не нужно?
if (b1) if (b2) else; else //code
без этого; это будет больно. но это не лучший способ написать, если также. но приемлемо.