почему метод main в c # всегда находится внутри класса, а не в c ++ - PullRequest
11 голосов
/ 25 января 2012

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

Ответы [ 6 ]

12 голосов
/ 25 января 2012

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

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

9 голосов
/ 25 января 2012

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

5 голосов
/ 25 января 2012

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

3 голосов
/ 25 января 2012

Вы не можете разместить метод вне класса / структуры в C #.Каждый метод должен быть в классе / структуре

0 голосов
/ 27 октября 2015

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

0 голосов
/ 25 января 2012

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

...