從高一在蘋果機上接觸BASIC到今年,大約有17年了,至今還是VB6。但工作上越來越多的網頁類開發,逼我進入C#的世界。但之前的VB並沒有實現完整的對象,因此我對C#的對象概念還是很弱。而要加強概念,唯有不斷地練習。不斷練習又要有快速的編程環境。但我的硬體環境已經固定了(三年前買的神州筆記本最便宜的一款),所以又要找最高效的練習方式。還好C#也有命令列編譯,因此開始走進面對對象的世界。
Microsoft Visual Studio 8\Common7\Tools下有一個批處理VSVARS32.BAT,運行它後就可以在任何地方運行csc.exe,我後來找了一下,才知道這個EXE的位置在C:\WINNT\Microsoft.NET\Framework\v2.0.50727。並且在其它版本中都還有csc.exe這個程式。VSVARS32批處理只能臨時加上csc的路徑,實際上,只要在“我的電腦”右鍵“屬性”的“進階”頁簽的“環境變數”按鈕中,把PATH加上“C:\WINNT\Microsoft.NET\Framework\v2.0.50727”這個,這樣每次重啟後都可以直接使用csc了。
我設定了一個C:\C#為工作目錄,輸入的第一個程式仍然是“hello world”,在記事本中輸入如下內容,並儲存為hello.cs:
using System;
class hello
{
static void Main()
{
Console.WriteLine("Hello, World!");
}
}
這樣就可以在工作目錄中輸入csc hello.cs。如果一切正常,則顯示如下提示(完整內容):
Microsoft (R) Visual C# 2005 編譯器 版本 8.00.50727.1433
用於 Microsoft (R) Windows (R) 2005 Framework 版本 2.0.50727
著作權 (C) Microsoft Corporation 2001-2005。著作權所有,並保留一切權利。
目錄下就產生一個hello.exe檔案,運行結果則是在介面顯示“Hello, World!"。
·注意:命令列csc hello.cs中,不能把.cs給少了,否則編譯器會提示:
error CS2001: 未能找到源檔案“hello”
fatal error CS2008: 未指定輸入
·檔案hello.cs不一定要這個名稱,可以任意,如h.txt,執行csc h.txt後,產生h.exe。
·再擴充開來,一個檔案並不一定只能一個類,可以多個類,如下面的代碼在p.cs中:
using System;
class m
{
static void Main()
{
point p=new point();
Console.WriteLine("x=" + p.x.ToString());
}
}
class point
{
public double x=10;
}
後面的代碼就是以這個為基礎進行測試的。
·用手工輸入的壞處就是大小寫不好掌握,例如,我開始把Main輸成main,編譯不成功,提示:
error CS5001: 程式“c:\C#\hello.exe”不包含適合於進入點的靜態“Main”方法