2016-01-16 66 views
-5

因爲我只是調試一個非常簡單的程序,它將運行時輸入作爲兩個數字,並顯示這兩個數字的總和。我沒有寫字符串[]參數。那麼是否真的有必要在每個程序中寫下這些內容?在C#中寫入static void Main(string [] args)是強制的嗎?

+1

我建議你學習閱讀的語言文件來回答這些問題。這樣做容易得多。 –

回答

1

Main方法是C#控制檯應用程序或Windows應用程序的入口點。 (庫和服務不需要Main方法作爲入口點)。當應用程序啓動時,Main方法是第一個被調用的方法。 C#程序中只能有一個入口點。如果您有多個具有Main方法的類,則必須使用/ main編譯器選項編譯程序,以指定將哪個Main方法用作入口點。有關更多信息,請參閱/ main(C#編譯器選項)。

  1. Main方法是.exe程序的入口點;它是程序控制開始和結束的地方。
  2. Main在類或結構體中聲明。主要是靜態的,不應該公開。 (在前面的例子中,它接收到private的默認訪問。)封閉類或結構不需要是靜態的。
0

的字串[] args一部分是情況下,當你想支持命令行開關

myprogram.exe argument1 argument2 

如果你有沒有計劃使用它們,你不需要ARGS。

0

公共手段,即一種方法從外部可見。這是有道理的,因爲你希望加載器從外部啓動這個方法。但是,當然:從技術上講,可能已經有可能賦予它任何其他權利。但是你必須看到,你現在甚至可以加載程序集並自己啓動這個方法,這在某些情況下可能很重要。

靜態的意思是,該函數可以被調用,而不需要第一個類的實例。這很有意義,因爲Main是入口點,並且您希望調用此函數而不首先創建類的實例。 如果要在從命令行調用應用程序時使用參數列表,那麼C#語言提供了一個名爲args的字符串[]數組,該數組填充了Windows操作系統的命令行參數。因此,例如,你執行你的應用程序需要一些參數傳遞給您的應用程序作進一步處理的代碼,你打電話給你的應用程序是這樣的命令行:

「C:\ ConsoleApplication1.exe中ABC」

的值ABC將存儲在ARGS字符串數組中,並可以這樣訪問:

for (int i = 0; i < args.Length; i++) // Loop through array 
{ 
string argument = args[i]; 
Console.Write(argument); // Write string 
} 

而且你可以試試這一條:http://www.dotnetperls.com/main

相關問題