C#難點(diǎn)逐個(gè)擊破(4):main函數(shù)
在C#中Main()屬于主入口函數(shù),我們知識(shí)C、C#屬于編譯語言,可以想象為一段程序最開始的頭部部分,由Main()函數(shù)進(jìn)入逐語句進(jìn)行編譯后執(zhí)行。假如html頁面也稱作編程語言的話,那么它就屬于從上到下一句一句(下載)執(zhí)行;js也是由上到下執(zhí)行,不過js相當(dāng)詭異,變量作用域要特別對(duì)待;在asp.net中一般情況下是以Page_Load(object sender,EventArgs e)可以認(rèn)為是主入口。
Main()中的string[] args參數(shù)
Main()函數(shù)必須使用static修飾,也就是說它必須是靜態(tài)的,不可實(shí)例化——可以實(shí)例化的話程序就完蛋了(多線程???)。默認(rèn)的Main()函數(shù)是帶形式參數(shù)的,形如static void Main(string[] args),這里面一個(gè)很至關(guā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()//此處沒有加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,沒錯(cuò),里面的參數(shù)就是用來編譯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)無返回類似,除此之外,還可以返回int,并且僅能返回int,這種返回int的使用情況并不多,在msdn描述到了使用批處理bat調(diào)用程序執(zhí)行的返回結(jié)果,根據(jù)結(jié)果來判斷程序是否順利執(zhí)行。返回類型在控制臺(tái)中并不顯示"
本節(jié)源碼下載
- JavaScript學(xué)習(xí)筆記(三):JavaScript也有入口Main函數(shù)
- C++改變編程入口為main函數(shù)
- C語言之沒有main函數(shù)的helloworld示例
- c語言main函數(shù)使用及其參數(shù)介紹
- C語言main函數(shù)的參數(shù)及其返回值詳細(xì)解析
- C語言中怎么在main函數(shù)開始前執(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#實(shí)現(xiàn)SMTP郵件附件發(fā)送功能詳解
這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)SMTP郵件附件發(fā)送的功能,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下2022-12-12
C# Bitmap圖像處理(含增強(qiáng)對(duì)比度的三種方法)
本文主要介紹了C# Bitmap圖像處理(含增強(qiáng)對(duì)比度的三種方法),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11
采用C#實(shí)現(xiàn)軟件自動(dòng)更新的方法
這篇文章主要介紹了采用C#實(shí)現(xiàn)軟件自動(dòng)更新的方法,非常實(shí)用的功能,需要的朋友可以參考下2014-08-08
C#實(shí)現(xiàn)EPL?II格式打印與打印測試
這篇文章介紹了C#實(shí)現(xiàn)EPL?II格式打印與打印測試的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06

