第一章 c#的開發環境
c#最簡間編輯器可以用notepad,但我并不建議用它編輯源碼。原因是如果你與真正的編程語言打交道,使用notepad編輯源碼編譯時可能產生大量的錯誤信息行,但你還不知是在哪呢。
你有幾種選擇:
第一,配置visual studio 6中的visual c++ 6.0,使它能夠和c#源文件一起工作。
第二,選擇microsoft最新的visual studio 7,其ide風格非常的cool哦,居然還有vfp,c++、vb、c#在同一環境中,但是很耗資源,所以使用它要考慮清楚哦。
下面我就介紹一下visual studio 7的安裝吧:
操作系統的選擇,最好是選擇win2000中文版(英文版也可以,中國人當然用中文版了),安裝后升級到sp1(servicepack 1,中文版的要裝中文版的win2ksp1),然后請安裝ie5.5。安裝q274294_w2k_sp2_x86_cn.exe補丁,到目前為止,基本的要求已經達到了。
開始安裝vs.net,把下載的文件解壓或把購來的1、2號光盤復制到一個硬盤新目錄中(大約需要850m空間),然后進入該目錄后,運行setup文件。如果是安裝在中文版的win2000則需要進入setup目錄下,再運行里面的setup程序。
安裝程序會提示你安裝一些不符合版本的組件,主要包括frontpage server extension qfe,ie5.5,請把指定存放升級組件的目錄位置或是3號光盤。在升級后系統會安裝如xml3等有關組件。
升級組件后,系統會開始安裝vs.net。時間約35分鐘(時間根據你的機子配置)
以上安裝過程中,必要時要重新啟動你的計算機,上面提到的,大多都能到microsoft的網站(http://www.microsoft.com)上下載。
其實,你只要安裝好ngws.net sdk后,就可直接編譯c#的程序。在ngws sdk安裝時,安裝程序會自動替你在環境變量path中加入c#編譯器所在的路徑。因此你可以用任何編輯器編寫一個c#程序,后綴名存為.cs,然后在命令行執行csc xxx.cs即可編譯生成exe文件。
第三,你可以用任何第三方程序編輯器,最好要支持行數、色彩編碼、工具集成和良好的搜索功能,本人推薦一個(sharp develop,一個專用于c#的開發工具)。
ide界面如下:
現在就以"hello world"為例說說如何使用c#的開發環境吧
最簡單的 "hello world "程序 ,如下:
1: class helloworld
2: {
3: public static void main()
4: {
5: system.console.writeline("hello world");
6: }
7: }
在c#中,代碼塊(語句組)由大括弧({和})所括住。所以,甚至你以前沒有c++的經驗,你也可以說出main()方法就是helloworld 類語句的一部分,因為類被括在所定義的大括弧中。
c#應用程序的入口點就是 static main方法,這個有點象是c/c++,但大小寫不同,它必須包含在一個類中。僅有一個類能使用該標志定義,除非你告訴編譯器它應使用哪一個 main 方法,否側,會產生一個編譯錯誤。
和c++相比,main的第一個字母是大寫的m,而不是你曾經使用過的小寫字母。在這個方法中,你的程序開始并結束。方法中可以調用其它方法――如這個例子中,用于輸出文本――或者創建對象并激活該方法。
正如你所看到的,main方法返回一個void類型。
public static void main()
盡管看到這些語句時,c/c++程序員肯定會覺得似曾相識,但是其他程序員并不如此。首先,public 的訪問標志告訴我們這個方法可以被任何程序訪問,這是它被調用的必要條件。其次,static 意味著沒有先創建類的實例也可以調用方法――你所要做的就是用類名調用方法。
helloworld.main();
另一重要的方面是返回類型。對于方法main,可選擇void (意味著根本就沒有返回值),或用int為整型結果(應用程序返回的錯誤級別)。因此,兩種可能的main方法為:
public static void main()
public static int main()
c/c++程序員會同樣知道后面我要提到的――可以傳給應用程序的命令行參數數組。如:
public static void main(string[] args)
我現在并不想詳細地說明如何訪問參數,但我想事先給c++程序員一個警告:和c++相比,應用程序路徑不是這個數組的一部分。僅僅那些參數包含在這個數組中。
在對main方法并不簡短的介紹之后,讓我們把注意力集中到唯一真正的代碼行――這行代碼在屏幕上顯示"hello wold"。
system.console.writeline("hello world");
假如不是由于有了system,大家會馬上猜到writeline是console 對象的一個靜態方法。那么system代表什么呢? 它是包含console對象的名字空間(范圍),實際上并不是每次都在console對象前加上名字空間的前綴,你可以象清單3.2所示范的那樣,在應用程序中引入名字空間。
在應用程序中引入名字空間,代碼如下:
1: using system;
2: class helloworld
3: {
4: public static void main()
5: {
6: console.writeline("hello world");
7: }
8: }
所有你要做的就是給system名字空間加一個using(有點象是delphi中的uses)指令。在這之后,不再需要規定名字空間,就可以使用它們的方法和屬性了。
編譯應用程序
由于ngws runtime支持所有的編譯器(vb、c++和c#),你不必買一個單獨的開發工具用來把應用程序編譯成il(中間語言)。但是,如果你從沒有用過命令行編譯器編譯過應用程序(僅懂得編譯名,而沒有熟記), 它還是你的首要選擇。
打開命令提示符并切換到存 helloworld.cs 的目錄。敲入以下命令:csc helloworld.cs
helloworld.cs 被編譯并鏈接成hellworld.exe(c#編譯器如果沒有出錯提示)
使用命令行編譯器 csc.exe 編譯應用程序
現在你已經準備好運行第一個真正用c#編寫的應用程序。簡單地在命令行上敲入helloworld,輸出結果為 "hello world"。
在繼續往下介紹之前, 我想稍為想象一下第一個應用程序和一個編譯器開關的使用:csc /out:hello.exe helloworld.cs
這個開關告訴編譯器輸出文件命名為hello.exe。雖然這不是什么絕招,但它是這本書中用到的未來編譯器的基本功。 小結
在這一章中,你完成了從0開始到創建、編譯并執行了第一個c#應用程序。學習就是這樣,從無到有,不然,自己知道,還要再學,有啥意義呢!
新聞熱點
疑難解答