Почему основной метод в С# всегда помещается внутри класса, но не в С++

Почему мы помещаем метод main() всегда внутри class в С#, тогда как в С++ он всегда помещается вне class.

Ответ 1

По историческим причинам. С++ развился из C, который имел глобальную функцию main(). С# намного моложе и был разработан с нуля. Одной из конструктивных особенностей С# является отсутствие глобальных функций, поэтому функция main должна принадлежать классу.

Ответ 2

Разработчики языка С++ следовали примеру C, поэтому основная функция - простая функция.

Разработчики языка С# сделали выбор при разработке языка, что все методы должны быть частью классов.

Ответ 3

Потому что в .NET вы можете размещать методы только внутри типов. Вы не можете их плавать в пустом пространстве. С++ имеет свое наследие от C, который не является языком OOP, поэтому вы можете определять функции где угодно.

Ответ 4

Вы не можете поместить метод вне класса/структуры в С#. Каждый метод должен находиться в классе/struct

Ответ 5

Это соглашение. Это соответствует Java (также следует семантика наличия метода внутри класса).

Ответ 6

С# - полный объектно-ориентированный язык, где все рассматривается как объекты. Следовательно, Main() хранится внутри класса.