why in C#, console application, in \"program\" class , which is default, all methods have to be static along with
static void Main(string[] args)
You can write non static methods too, just you should use like this
static void Main(string[] args) { Program p = new Program(); p.NonStaticMethod(); }
The only requirement for C# application is that the executable assembly should have one static main method in any class in the assembly!