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

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