近期開始接觸到在校學生、高校實習生和畢業生,在此說一下筆者對這些徘徊在職場門口的學生一些建議,希望能給這些初學者進入軟體開發行業帶來一些幫助,使得畢業生能更順利的進入軟體開發公司開始職場生涯,人生來一個完美的轉彎。
----------------------------------------------------------------
C#中的Windows應用程式和指令行程式編譯後的結果是EXE檔案,而EXE檔案是需要定義啟動程式的入口點。這個入口點在C#中就是main函數,這點和C語言很類似。
在“第一個Windows應用程式”的C#工程中一開始就包含了一個“Program.cs”的源代碼檔案,該檔案内容如下。[袁永福版權所有]
using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace第一個Windows應用程式
{
staticclassProgram
{
/// <summary>
/// 應用程式的主入口點。
/// </summary>
[STAThread]
staticvoid Main()
{
Application.EnableVisualStyles( );
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(newForm1( ));
}
}
}
這個檔案中就定義了Main函數,一個C#的Windows應用程式或者指令行程式中有而且隻有一個Main函數。[袁永福版權所有]
在Main函數前面的代碼“[STAThread]”通知了編譯器該函數是采用單線程模式的。
在此處Main函數沒有定義參數和傳回值,實際上Main函數可以定義個int類型的傳回值,還可以定義一個字元串數組類型的參數,如“int Main( string[ ] args )”,這樣可以獲得指令行參數了,一般情況下具有圖形使用者界面的Windows應用程式不需要支援指令行參數,但指令行應用程式比較依賴指令行參數來調用功能。
除了在Main函數中獲得指令行參數,開發者可以在任何地方使用類型System.Environment的CommandLine靜态屬性獲得啟動程式使用的指令行文本,也可以使用該類型的GetCommandLineArgs靜态方法獲得啟動程式使用的指令行參數。
指令行文本是一個字元串,例如在Windows指令行界面中使用指令“c:\my.exe *.jpg \a \s”, Environment類型的CommandLine屬性值為“c:\my.exe *.jpg \a \s”,而它的GetCommandLineArgs方法傳回一個有4個元素的字元串數組,數組值為“c:\my.exe”、“*.jpg”、“\a”、“\s”。
Main函數中的代碼“Application.EnableVisualStyles( )”是讓整個應用程式啟動了XP樣式。
當Windows應用程式啟動XP樣式時,使用者界面顯示如下圖。[袁永福版權所有]
<a target="_blank" href="http://blog.51cto.com/attachment/201108/134244137.jpg"></a>
若沒有啟動XP樣式時,使用者界面顯示如下圖。
<a target="_blank" href="http://blog.51cto.com/attachment/201108/134257908.jpg"></a>
Main函數中的代碼“Application.Run(newForm1( ))”是建立一個窗體對象并運作該窗體。這個函數是同步的,隻要窗體沒有關閉,該函數就不會傳回,當窗體關閉了,該函數傳回,然後Main函數後面就沒有代碼了,于是程式退出。[袁永福版權所有]
本文轉自xdesigner 51CTO部落格,原文連結:http://blog.51cto.com/xdesigner/646088,如需轉載請自行聯系原作者