大多數初級程序員或學生都認為在C#控制台或應用程序中只能有一個Main()方法。但是事實上是可以有多個Main()方法的。
在C#控制台或應用程序中,在多個類中,且每個類里最多只能存在一個Main()方法的情況是允許存在的。
1 using System; 2 3 namespace ConsoleTest 4 { 5 class Demo 6 { 7 public static void Main() 8 { 9 Console.WriteLine("我是Demo類的Main方法!"); 10 } 11 } 12 13 class DemoClass 14 { 15 public static void Main() 16 { 17 Console.WriteLine("我是DemoClass類的Main方法!"); 18 Demo.Main(); 19 Console.ReadLine(); 20 } 21 } 22 }
如上代碼所示。Demo類和DemoClass類里各有一個Main()方法。然后我們編譯一下。

如圖所示,提示錯誤,未能編譯成功。主要原因是如上方式編寫的程序有兩個Main()入口。因此,提示錯誤。
但是,我們通過VS中的程序設置,是可以編譯成功的。打開項目屬性,如下圖所示。

我們將項目屬性中的 “啟動對象” 原來的默認設置改為 ConsoleTest.DemoClass,然后保存,再次編譯即可成功。如下圖是運行結果。

