這篇文章以一個簡單的Hello world 程序講解了C#程序的基本結構和相關知識,希望大家能喜歡。
Hello World,就像一個嬰兒剛剛來到這個世界上,開啟了他的人生旅途。下面將使用大部分程序設計的開門程序Hello World來簡單交待一下C#程序的格式與基礎知識。
using System; //引入System命名空間
namespace HelloWorld
{
public class HelloWorld
{
static void Main() /*這是主方法,程序啟動時,從這里開始執行*/
{
Console.WriteLine("Hello World!");
Console.WriteLine("請輸入你的大名:");
Console.WriteLine(Console.ReadLine()+ ",歡迎步入C#世界!");
}
}
}
在這里,藍色字體部分是C#的保留字,即組成C#語法的重要部分。每個C#程序至少有一個類,并且每個C#程序有且只有一個主方法,即Main方法,這里的Main方法與Java中的main方法和C++中的main方法含義相同,只不過這里需要大寫,在給C#程序命名的時候比較隨意,只要給起一個有一定含義的名字即可,如這個程序可以命名為HelloWorld.cs,有可以命名為First.cs,不像Java那樣要求必須與包含主方法的類名完全一樣。從這里大家也可以看得出,C#程序文件的擴展名為.cs,即C sharp的縮寫。
在上面的程序中,我們也注意到了,C#的每一個語句必須以分號(;)結尾。
程序的第一行中using的作用是引入命名空間,其作用有點類似于C或C++的include,或者Java語言中的import,那么命名空間又是什么呢?這里只簡單地形容為包含相關類的類庫,就像C或C++中的函數庫,或Java語言中的包差不多。關于命名空間更詳細的介紹,請參見日志中的命名空間一節。
第二行中的namespace是自己編寫的這個程序的命名空間,在其他程序中,如果把這個命名空間引入的話,也可以使用這個程序或類HelloWorld中提供的屬性及方法成員。
C#程序的內容或用一對{}來圍定,在編寫程序時,要注意括號的匹配問題,丟掉括號,程序將無法通過編譯。比較好的做法是將一對括弧同時寫出來,以免丟掉其中的一個。
static void是對主方法的修飾,static表示該方法是靜態的,即在使用過程中不必聲明該類的對象或實例,直接用類名來引用即可,這作為程序的主方法來說是非常有用的,因為主方法一般由操作系統來調用的,如果不是靜態的,系統必須定義該類的實例后才能使用,這樣做對系統來說是非常蹩腳的。在以后的介紹中,大家會了解到更多的關于static的介紹。void 說明該方法不返回任何值,我們也可以根據自己的需要向操作系統返回一定的值,如int型的等。有時,主方法中還帶著參數,是為了在程序運行時,接收外界給與的運行參數而設定的。
在主方法體中,Console是控制臺類,即鍵盤,鼠標,顯示器這樣的“控制臺”程序,一般類似于早先的DOS環境。該類中提供了幾個常用的輸入輸出方法。WriteLine()是向控制臺(顯示器)輸出內容,是一個靜態方法,在調用之前不需要實例化Console對象,其中的參數控制了輸出字符串的格式和類型,輸出完內容后換行,即光標移到下一行的開始位置。如果,該方法沒有給出任何參數,就只是換行,不輸出任何內容,在程序中,我們可以利用這種功能,輸出幾個換行。跟這個方法對應的另一個方法就是ReadLine(),也是一個靜態方法,這個方法沒有參數,就是從控制臺(鍵盤)讀取一個字符串,這個字符串以回車為標志,即回車后,將輸入的內容送入輸入流。除此之外,還有Write()方法,這個方法只向控制臺輸出內容,不換行,如果想換行的話,我們在字符串中需加入轉義字符'/n',關于轉義字符,在以后會有所介紹。Read()方法是從輸入流中讀取下個字符的ASCII碼值,即它的返回類型是整型,如我們輸入A,實際上是把代表A的ASCII碼值65讀到程序中,在使用時,我們需要進行強制轉換,把它轉換會字符。WriteLine()和Write()方法都具有十幾個重載形式,而Read()和ReadLine()沒有重載形式。
從上面的程序中,我們可以看出,C#中使用+號把兩個字符串連接起來。
下面我再說一說C#的注釋。C#中的注釋有兩種形式:第一種是行注釋,即//,這種注釋只對一行中//后面的內容有效;另外一種是/*注釋內容*/,即多行注釋,只要放在/*和*/之間的內容,不管是有幾行,都是注釋的內容。
C#程序可以使用CSC命令進行編譯,也可以使用VS.NET集成環境進行編譯和執行。
如果使用csc命令在命令行上編譯代碼,就應注意.NET命令行工具,包括csc,只有在設置了某些環境變量后才能使用。其形式如下:
csc First.cs
如果沒有設置環境變量,有兩種解決方法。第一種方法是在運行csc之前,在命令行上運行批處理文件%Microsoft Visual Studio 2005%/Common7/Tools/vcvars32.bat。其中%Microsoft Visual Studio 2005是安裝Visual Studio 2005的文件夾。第二種方法(更簡單)是使用Visual Studio 2003命令行代替通常的命令提示窗口。Visual Studio 2005命令提示在“開始”菜單—“程序”—Microsoft Visual Studio 2003-Microsoft Visual Studio Tools子菜單下。它只是一個命令提示窗口,打開時會自動運行vcvars32.bat。
編譯代碼,會生成一個可執行文件First.exe。在命令行或Windows Explorer上,象運行任何可執行文件那樣運行該文件,得到如下結果:
First.exe (回車)
Hello World!
請輸入你的大名:
Fu Jinlong (回車)
Fu Jinlong,歡迎步入C#世界!
如果,使用VS.NET集成開發環境,我們可以按下F5鍵,進行編譯和運行,但程序執行完會自動退出,我么可以使用CTRL+F5的方法防止程序退出。執行結果如下圖:
(以上為本人的理解,如有什么不對,請告知)。
新聞熱點
疑難解答