Краткий ответ: C # разрабатывается после C, и C требует, чтобы функции были заключены в скобки из-за того, как раньше были объявления функций C.
Длинная версия с историей: в K & R C функции были объявлены следующим образом:
int function(arg1, arg2)
int arg1;
int arg2;
{ code }
Конечно, у вас не может быть свободных функций в этом расположении.ANSI C предписал синтаксис, который мы все знаем и любим:
int function(int arg1, int arg2)
{ code }
, но не разрешаем функции без скобок, потому что они могут привести к хаосу со старыми компиляторами, которые знают только синтаксис K & R [и поддержка объявлений K & R все еще требуется].
Время шло, и спустя годы C # был разработан вокруг C [или C ++, с той же разницей в синтаксисе], и, поскольку C не разрешал функции без скобок, ни C #.