C#難點逐個擊破(4):main函數(shù)
在C#中Main()屬于主入口函數(shù),我們知識C、C#屬于編譯語言,可以想象為一段程序最開始的頭部部分,由Main()函數(shù)進入逐語句進行編譯后執(zhí)行。假如html頁面也稱作編程語言的話,那么它就屬于從上到下一句一句(下載)執(zhí)行;js也是由上到下執(zhí)行,不過js相當詭異,變量作用域要特別對待;在asp.net中一般情況下是以Page_Load(object sender,EventArgs e)可以認為是主入口。
Main()中的string[] args參數(shù)
Main()函數(shù)必須使用static修飾,也就是說它必須是靜態(tài)的,不可實例化——可以實例化的話程序就完蛋了(多線程!?)。默認的Main()函數(shù)是帶形式參數(shù)的,形如static void Main(string[] args),這里面一個很至關(guān)重要的問題就是:很多人都認為其中的參數(shù)僅當程序涉及要求用戶輸入?yún)?shù)值才必須帶上。這就大錯特錯了,我之前也是這么理解的,直接今天我在寫這篇文章時查詢資料時才知道。請參考下面的代碼
using System;
/******************************
* Chapter:C#難點逐個擊破(四)
* Author:王洪劍
* Date:2010-1-15
* Blog:http://www.51obj.cn/
* Email:walkingp@126.com
* Description:容易出錯的Main參數(shù)理解
* ***************************/
namespace TestMain
{
class Program
{
static void Main()//此處沒有加string[] args
{
Console.WriteLine("請輸入您的姓:");
String firstName = Console.ReadLine();
Console.WriteLine("請輸入您的名:");
String lastName = Console.ReadLine();
Console.WriteLine("您的姓名是:{0}{1}", firstName, lastName);
}
}
}

其次就是參數(shù)的類型只能是string[],否則就會編譯錯誤
那么該參數(shù)是起什么作用的呢?舉個例子你就知道了,notepad c:\boot.ini,或者IEXPLORER.exe http://www.g.cn,沒錯,里面的參數(shù)就是用來編譯exe要加入的參數(shù),比如我們可以加一個參數(shù)min或者hide,然后加入相應(yīng)的代碼就可以實現(xiàn)程序運行時最小化運行或者隱藏運行。
Main()函數(shù)的返回值
Main()默認無返回類似,除此之外,還可以返回int,并且僅能返回int,這種返回int的使用情況并不多,在msdn描述到了使用批處理bat調(diào)用程序執(zhí)行的返回結(jié)果,根據(jù)結(jié)果來判斷程序是否順利執(zhí)行。返回類型在控制臺中并不顯示"
本節(jié)源碼下載
- JavaScript學(xué)習(xí)筆記(三):JavaScript也有入口Main函數(shù)
- C++改變編程入口為main函數(shù)
- C語言之沒有main函數(shù)的helloworld示例
- c語言main函數(shù)使用及其參數(shù)介紹
- C語言main函數(shù)的參數(shù)及其返回值詳細解析
- C語言中怎么在main函數(shù)開始前執(zhí)行函數(shù)
- 深入探討:main函數(shù)執(zhí)行完畢后,是否可能會再執(zhí)行一段代碼?
- 深入Main函數(shù)中的參數(shù)argc,argv的使用詳解
- 解析在main函數(shù)之前調(diào)用函數(shù)以及對設(shè)計的作用詳解
- .NET中函數(shù)Main的使用技巧
相關(guān)文章
C#使用動態(tài)規(guī)劃解決0-1背包問題實例分析
這篇文章主要介紹了C#使用動態(tài)規(guī)劃解決0-1背包問題,實例分析了C#動態(tài)規(guī)劃算法的實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-04-04