C# Main函數詳解


2018-01-15 22:10:59


 

 一、Main()方法的簡介

1、唯一性。一般情況下,一個C#可執行程序只有一個Main函數,作為程序入口。但是在某些情況(如單元測試中),程序擁有多個Main函數,,這個時候我們就需要通過命令行指定以哪個Main()方法作為程序的唯一入口。

2、靜態性。Main()方法通過static修飾,這個主要是讓我們可以通過類名加方法的形式調用Main()方法,使得我們不需要創建對象的實例(即new出該對象)而直接調用Main函數。使用靜態static修飾符的原因:

3、Main的參數。分析Main()方法的參數是一個字符串(string[] args),這個參數可以包含任意數量的命令行輸入參數。

4、Main函數的修飾符。一般不加修飾符,默認為private,但可以public修飾符,但編譯器在編譯時會設置為priavte。

二、Main()方法為什么使用static修飾

       假設沒有static關鍵字,那意味着需要用生成一個實例后才可以調用這個Main方法,而Main方法是程序入口點,你沒有進入Main方法,自然無法生成一個實例,既然沒有實例,那就無法調用Main函數,豈不矛盾?所以Main函數被設置為static。直接通過類名加方法的形式調用Main()方法,使得我們不需要創建對象的實例(即new出該對象)而直接調用Main函數。

三、Main()方法的四種形式

1、無返回值,以字符串數組作為參數

1 class Program
2     {
3         static void Main(string[] args)
4         {
5         }
6    }

 

2、無返回值,無參數

1   class Program
2     {
3         static void Main()
4         {
5         }
6     }

 

3、返回int類型數值,以字符串數組作為參數

1  class Program
2     {
3         static int Main()
4         {
5 
6            return 0;//返回整數0(0:表示沒有出現異常情況正常返回;其他值(非0),表示主函數執行過程中的異常情況。)
7         }
8     }

 

4、返回int類型數值,無參數

1   class Program
2     {
3         static int Main(string[] args)
4         {
5             return 0;//返回整數0(0:表示沒有出現異常情況正常返回;其他值(非0),表示主函數執行過程中的異常情況。)
6         }
7     }

 

四、Main()的參數string[] args的含義

     args是用來處理命令行參數的。命令行參數,就是你運行這個程序的時候給它傳的參數。它是可選項,不是必須的。具體使用如下:

1:編寫如下程序

 1  class Program
 2     {
 3         static void  Main(string[] args)
 4         {
 5             foreach (string str in args)
 6             {
 7                 Console.WriteLine("Main函數傳遞的參數args:{0}", str);
 8             }
 9             Console.ReadKey();
10         }
11     }

2:編譯完成該程序后,在Debug文件中找到該.exe文件,復制到桌面,再復制路徑+文件名,然后在命令行模式下輸入“C:\Users\dwa1124\Desktop\Test aa bb cc”。運行后我們發現:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM