Why we put main()
method always inside the class
in C# while in c++ it always placed outside of the class
.
C# is complete object oriented language where everything is considered as objects. Hence, Main() is kept inside class.
Because in .NET you can place methods only inside types. You cannot have them floating around in the empty space. C++ has its legacy from C which is not an OOP language so you could define functions anywhere.
You cannot place method outside class/struct in C#. Each method must be in class/struct
For historical reasons. C++ evolved from C, which had a global main()
function. C# is much younger and was designed from scratch. One of the design features of C# is the absence of global functions, so the main
function has to belong to a class.
It is a convention. Which is in line with Java (also follows the semantic of having a method inside class).
The C++ language designers followed the lead of C and so the main function is a plain function.
The C# language designers made the choice, when designing the language, that all methods must be part of classes.