4.59k likes | 4.79k Views
C# 初體驗 • 安裝與執行. 安裝 Visual Studio 2010. 讀者可至 http://www.microsoft.com/down loads/defail.aspx?displaylang=zh-tw&FamilyiD= 5414e4cø-cif8-473e-8eqd-ala7be786141 下載 Visual Studio 2010 的 ISO 檔,並使用 Nero 等這類燒錄軟體燒錄成光碟,或使用 DEMON 等模擬光碟軟體直接掛載進行安裝。 微軟的產品在安裝方面皆是本著容易安裝的特性,只要一直按下一步就可以完成安裝。
E N D
安裝Visual Studio 2010 • 讀者可至 http://www.microsoft.com/down loads/defail.aspx?displaylang=zh-tw&FamilyiD= 5414e4cø-cif8-473e-8eqd-ala7be786141 下載 Visual Studio 2010 的 ISO 檔,並使用 Nero 等這類燒錄軟體燒錄成光碟,或使用 DEMON 等模擬光碟軟體直接掛載進行安裝。 • 微軟的產品在安裝方面皆是本著容易安裝的特性,只要一直按下一步就可以完成安裝。 • 以下是安裝時的畫面。 掌握 C# 4.0 設計概要
安裝Visual Studio 2010 點此進行安裝 掌握 C# 4.0 設計概要
安裝Visual Studio 2010 點選下一步 掌握 C# 4.0 設計概要
安裝Visual Studio 2010 選此項目 再點下一步 掌握 C# 4.0 設計概要
安裝Visual Studio 2010 等待這些元件安裝完成,這些元件在安裝時,有可能因電腦環境而異,而被要求重新開機多次。 掌握 C# 4.0 設計概要
安裝Visual Studio 2010 完成安裝後,點選完成即可。 掌握 C# 4.0 設計概要
您的第一支程式… • 本書著重於 C# 語法的教學,因此將以簡單的 “控制台應用程式” 作為製作範例的專案。下列就讓我們動手作一個簡單的範例吧。 掌握 C# 4.0 設計概要
您的第一支程式… 點選 「開始>程式集>Microsoft Visual Studio 2010>Microsoft Visual Studio 2010」開始開發工具。 掌握 C# 4.0 設計概要
您的第一支程式… 選取Visual C#開發設定,將C#設定為預設的語言。 選此啟動Visual Studio(s) 掌握 C# 4.0 設計概要
您的第一支程式… 點選此按鈕以開啟新的專案 掌握 C# 4.0 設計概要
您的第一支程式… 選取「主控台應用程式」。 專案存放的位置是可以改變的,目前使用系統預設的目錄即可。此目錄預設為使用者的「我的文件\Visual Studio 2010\Projects」下。 將專案的名稱改為C1_1_1 掌握 C# 4.0 設計概要
您的第一支程式… 方案總管,是用來管理我們開啟的專案,一個方案下可以有多個專案,而專案下會列出包含的檔案。而我們開啟的其實是一個專案,只是在建立第一個專案的同時,也會建立一個方案來存取此專案。 這是程式編輯器,同時也會在開啟專案後,顯示出預先建立好的程式。待會,會進一步的針對此程式作一些解說。 掌握 C# 4.0 設計概要
您的第一支程式… 最後點選這個右三角型即可執行程式,雖然目前沒有撰寫任何要執行的程式,但還是可執行。 掌握 C# 4.0 設計概要
程式的基本結構 • 當開啟一個專案時,Visual Studio 2010 會以預設的程式樣版撰寫一些可執行的程式碼,接下來將針對這些程式進行解說並稍作調整。 掌握 C# 4.0 設計概要
程式的基本結構 • C1_1_1 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace C1_1_1 { class Program { static void Main(string[] args) { Console.WriteLine("Hello World~~") ; Console.Write (1); Console.Write (2); Console.WriteLine(3); Console.ReadLine(); } } } 此行程式會載入一些常用的工具,是一定會加上的一行程式,但也因為是一定會加上的程式,因此在書面上範例將會省略這一定會加上的程式碼。若想先了解此行程式,可於「第11章 分類您的類別」中找到使用的方式與目的。 在大多數的時候,這些程式是用不著的,因此先將這些程式刪除,以簡化程式。 基本上,我們所要執行的程式是寫在static void Main(string[] args)之後的大括號中,而其又是位於class Program的大括號中,在之後的學習中,會漸漸的了解這些程式。 Console.Write ( )與Console.WriteLine( )不同的地方是它在輸出結果至畫面上後,並不會進行換行的動作。 不論是Console.WriteLine( )或Console.Write( )皆可以輸出數值的資料。 Console.ReadLine( )在執行時,會使程式停下以讓使用者輸入資料,但在本書中會使用此程式停一下的特性,以讓讀者觀看執行的結果,也因為僅止於停止程式,因此在書面上範例將會省略這行程式碼,但實際的範例檔中,會出現此行程式。 Console.WriteLine( )可以在執行程式後將結果輸出至畫面上,需輸出的結果放在它的小括號中( )即可。 若想將文字輸出至畫面上,記得使用雙引號(“”),將會輸出的文字放至其中即可。 每一段要執行的程式結束時,記得以分號(;)作為結束。 執行結果: Hello World~~~ 123 掌握 C# 4.0 設計概要
再延用60天… • 目前安裝的Visual Studio其實只能試用30天,若想在多延用60天的話,這時可申請60天的試用序號,並註冊此序號後即可多延用60天,如此就可以試用共90天的時間了。 掌握 C# 4.0 設計概要
再延用60天… 掌握 C# 4.0 設計概要
再延用60天… 第一次安裝完成的試用時間為29天,包含安裝當日,共30天。 若想在延長試用時間,此時可點選線上取得新金錀,取得試用金錀。 掌握 C# 4.0 設計概要
再延用60天… 輸入您於Microsoft申請的MSN帳號,並點選Sign in登入。若無MSN帳號可至www.msn.com.tw網站進行帳號的申請。 掌握 C# 4.0 設計概要
再延用60天… 依序輸入頁面所要求的個人資料。 掌握 C# 4.0 設計概要
再延用60天… 在此頁的最下方,點選Finsh完成申請。 掌握 C# 4.0 設計概要
再延用60天… 最後會導至另一個頁面中,同時會顯示一組試用的序號。 掌握 C# 4.0 設計概要
再延用60天… 再次啟動Visual Studio的註冊產品,並將取得的序號輸入至產品金錀欄中。 點選“啟動”即可。 掌握 C# 4.0 設計概要
再延用60天… 再一次啟動Visual Studio的註冊產品,這時會發現試用的期間已增加至89天,包含安裝Visual Studio當日共90天。 掌握 C# 4.0 設計概要
2.1 變數-Variable • 變數就像一個容器,可以為您保存資料,並在需要時將變數中的資料拿出來使用。 • 如何模擬金庫的功能,以保存現金? 對於電腦而言所有事情都是被動的,直到我們使用C#語言對電腦下指令,電腦才會有所動作。同樣的,資料的保存也是一樣,若不使用C#叫電腦將資料保存,電腦就會在使用過一次後,把這個資料給丟掉。為了證實電腦的被動的特性,現在讓我們簡單的作個測試。於是…寫了一支「100元花了20元後,再花個10元的程式」: 掌握 C# 4.0 設計概要
2.1 變數-Variable • C2_1_1 class Program { static void Main(string[] args) { Console.WriteLine(100-20); Console.WriteLine(100-20-10); } } 這是100元花了20元的程式。 怪怪的程式,怎麼還要重新拿出100元,先給它花個20元,然後再花10元,才能記算出最後剩下的金額70元?!雖然最後的結果是正確的。 執行結果: 80 70 掌握 C# 4.0 設計概要
2.1 變數-Variable • 這個就是沒有把之前100元花20元剩下80元的結果保留下來的程式;在每一次的過程中,必須重新取得100元,然後先模擬之前花的所有錢(本範例為20元),在同一時間,再花之後的10元,如此才能算出最後剩下的70元。問題出在哪?問題就出在「我們不能把每次所得的結果保存下來,以供下一個運算使用」。那如何作到像金庫一樣,忠實的反應金庫中的現金呢? 掌握 C# 4.0 設計概要
2.1 變數-Variable • 準備變數就像準備一個金庫,可以將現金裝起來。 • 為了使電腦記錄下資料,C#發明了變數(Variables),目的就是為了讓資料得以保存,以便在之後使用;如此就可以把變數當作金庫,將現金裝起來。 掌握 C# 4.0 設計概要
2.1 變數-Variable • C2_1_2 money是變數的名字,是可以隨意變更的,也是用來代表金庫的變數。 前面的int,代表著你的money變數可以保存的資料必須為整數,後面會再說明。 使用「=」這個符號,把100元放進去money變數中…記住!「=」這個符號會把右邊的資料交給在左邊的變數保存。因此「=」又稱為指派運算式,將右邊的資料指派至左邊的變數中。 { static void Main(string[] args) { int money; money = 100; Console.WriteLine(money); Console.WriteLine(money - 20); } } 從「money」 變數中,把100元拿出來,之後輸出到畫面上。 其實只要一提到「money」 變數,就會得到裡面的100元,之後減去20元,就會得到80元,然後輸出到畫面上。如此就達到保存資料以進行後續運算的需求。 執行結果: 100 80 掌握 C# 4.0 設計概要
2.1 變數-Variable • 使用指派運算式(=),更新變數中的現金。 • 當然你也可以把每次運算的資料保留下來,然後再進行下一次的運算。方法很簡單,就是使用指派運算式(=)將資料再一次的替換掉,以將最新的運算結果保存下來。 掌握 C# 4.0 設計概要
2.1 變數-Variable • C2_1_3 class Program { static void Main(string[] args) { int money = 100; Console.WriteLine(money); money = money-20; Console. WriteLine (money); money = money-10; Console. WriteLine (money); } } 其實在宣告變數的同時,也可以使用指派運算式(=)來設定money變數中所裝的現金。 money中的100會先淢去20後,然後再一次的使用指派運算式(=)放在money變數中。這個動作,就像是更新金庫中現金的動作是一樣的。 同樣的,我們一定要使用指派運算式(=)才能再一次的將新的現金數存放在money變數中。 執行結果: 100 80 70 掌握 C# 4.0 設計概要
2.1 變數-Variable • 注意,在金庫變數還沒裝現金之前,是不能跟金庫變數索取現金的。 • 變數僅只於保存資料的功能,唯有將資料託付於變數保管後,才能跟變數索取裡面的資料,這是必須遵守的規則,若程式沒有遵守這項規則將會發生錯誤。 掌握 C# 4.0 設計概要
2.1 變數-Variable • C2_1_4 class Program { static void Main(string[] args) { int money; Console.WriteLine(money); Console.WriteLine (money-20); } } 有個變數叫作money,但在建立這個變數的時候,並沒有將任何的現金資料保存入這個變數中。 這時若想拿出這個變數裝的現金資料…,此時將會得到一個錯誤。 既然上面出錯了,那這一行一定錯的更嚴重,竟然還想作淢20的動作… 掌握 C# 4.0 設計概要
2.1 變數-Variable • 錯誤列表中,會即時顯示這項錯誤: 錯誤提到程式使用了一個未裝有任何資料的變數-money。 掌握 C# 4.0 設計概要
2.2 型別-Type • 在電腦的世界裡,所有的資料或變數都會有型別,而型別指的就是資料的類型。不同的型別將會決定資料的保存範圍、運算方式等等的結果。 • 為什麼模擬金庫的變數前面,一定要加上一些英文字母? 為什麼我們一定要在變數的前面加上一些英文字母(例如:int),它有什麼作用?不加上去行嗎?現在讓我們來驗證一下,在變數前面不加上一些英文字母的情況。 掌握 C# 4.0 設計概要
2.2 型別-Type • C2_2_1 { static void Main(string[] args) { int money = 100; } } 將模擬金庫的變數-money前方的int刪除。若是你這麼寫!抱歉,你會得到一個錯誤。這樣的寫法在C#中是不被充許的,C#會無法識別money,這也是因為語法不正確而導致的結果。 • 錯誤列表中,會即時顯示這項錯誤: 掌握 C# 4.0 設計概要
2.2 型別-Type • 注意,為變數加上型別,是為了確保可存放現金的類型。 • 在C#的世界裡,每個變數都可以被嚴格的限定它可以裝下的資料,原因就是出在變數前面的英文字母。其實加在變數前面的英文字母就是用來限定變數能裝下的資料類型,而這就是所謂的型別(Type)。把這些型別(其實也是一些英文字,但這些英文字都有特殊的用途)加在變數前面的同時,將可限制變數可以裝下的資料。之前我們的money變數中放的是整數類型(int)的資料,記得!是整數。若是放入有小數點的數值到只能裝下整數值的money變數中,這時就會發生錯誤。 掌握 C# 4.0 設計概要
2.2 型別-Type • C2_2_2 class Program { static void Main(string[] args) { int money = 100.5; Console.WriteLine(money); } } int是Integer的縮寫,即表示整數的意思。int將會限制money變數只能存放整數相關的數值。就像台灣的金錢單位是整數是一樣的意思。 這時若將100.5放入money變數中,抱歉!因為int代表的是整數,無法接受一個有小數的數值,所以會得到一個錯誤。這個錯誤指出有小數點的數,不可以直接放入整數的變數中,也就是整數的變數是不能保存小數的關係。 • 錯誤列表中,會即時顯示這項錯誤: 掌握 C# 4.0 設計概要
2.2 型別-Type • 您可以選擇的現金型別。 • 在C#語言中,已經有一些預先定義好的型別,而這些型別通常表式的就是一個資料的特定格式,因此又稱之為「資料型別(Data Type)」。下表為數值類的資料型別列表: 掌握 C# 4.0 設計概要
2.2 型別-Type 整數類資料型別表 • 你會發現,越往下的資料型別能裝下的整數值越大。 掌握 C# 4.0 設計概要
2.2 型別-Type 浮點數型別表 • 這兩個資料型別可以存小數位數,之間的差異就差在它們可以存放小數的最大 位數是不同的。 小提示 更多的詳細內容可至官網查看: http://msdn.microsoft.com/zh-tw/library/s1ax56ch%28v=VS.80%29.aspx。 掌握 C# 4.0 設計概要
2.2 型別-Type • 使用不同的型別,決定變數可裝下的現金類型。 • 我們可以使用變數來裝資料,裝一些會再一次使用到的資料,在使用這個變數的同時,變數的前面都會加上資料型別,以限定這個變數可以裝下的資料,因此我們可以使用這些型別決定模擬金庫的money變數可以存放現金的總數目,與決定現金是否需存放小數部份。既然變數可以裝的資料型別會被限定,那就來看看這些資料要以何種格式寫下來,才能表示特定型別的資料。下列範例介紹常用資料型別的用法: 掌握 C# 4.0 設計概要
2.2 型別-Type • C2_2_3 class Program { static void Main(string[] args) { sbyte b = 127; short s = -10; int i = 2147483647; long l = 1L; byte b 1 = 255; ushort s 1 = 10; uint i 1 = 2147483647; ulong l 1 = 1L; float f = 10.123F; double d = 10.123; } } 這三個資料型別,能裝進去的資料都是整數類(當然包含負整數),差別在於它們能裝進去的整數大小不同而已。就好比您的金庫只能裝整數的台幣,但這些型別的差別只在於容量的大小而已。 長整數-long是可以裝下最多整數的一個型別,但記得要在你的整數後方加上一個「L」或是「l」。 這些型別與sbyte、short、int、long唯一不同的地方就是這些型別只能放正整數,並不能保存負數。因不存放負數的原故,其正數存放的空間將會是sbyte、short、int、long的2倍。 浮點數-float是可以裝有小數的數,但記得要在您的數值後方加上一個「F」或是「f」。您可以使用這個型別來存放有小數的美元。 雙倍浮點數-double也可以裝下有小數的數,但與float差別在於它能裝下更多的小數位數。 掌握 C# 4.0 設計概要
2.2 型別-Type • 其他常用基本資料型別。 • 另外,C#還有兩個特別的型別,bool與char。bool型別只能保存true或false,用以表示對或錯的兩種可能。而char是用來存放單一字元所使用的。 其他型別表 • bool只能保存true或false,用以表示對或錯的兩種可能。而char雖然可以存放數值,但char最主要的是用來表示一個字元,其運作的原理就是透過UniCode字元集,將數值對應至相對的字元。 掌握 C# 4.0 設計概要
2.2 型別-Type • C2_2_4 { static void Main(string[] args) { char c = ‘我’; bool b1 = true; bool b2 = false; } } char型別一次只能裝下一個字元,你可以直接給它一個字元,這個字元是使用單引號(」)來將字元裝起來的。 這是一個很特別的資料型別,你只能給它「true」或是「false」的值,表示對或錯。 掌握 C# 4.0 設計概要
2-3 基本資料的轉型-Casting for Primitive Type • 數值類型的資料是可以轉換型別的,當進行型別轉換後數值的內容也會因為型別的改變,而有所不同。比如:int的資料轉型為double後,這個數值將會出現小數部位的資料。 • 型別是無所不在的,即便是隨手寫下的任何現金數目。 • 有沒有想過一個問題,為什麼放入變數中的資料,都要有特定的寫法?比如說long型別的資料,在數值的後面要加上一個「L」或是「l」;其實原因就出在於這些資料在我們以特定格式寫下它的時候,就已經決定了它們的型別;換句話說,每個資料在一開始就會有擁有一個型別,就像您隨手寫下的任何一個現金數目,皆會有一個型別對應到現金數目上。 掌握 C# 4.0 設計概要
2-3 基本資料的轉型-Casting for Primitive Type • C2_3_1 class Program { static void Main(string[] args) { Console.WriteLine(10); byte b = 10; short s = 10; Console.WriteLine(10L); Console.WriteLine(100.5F); Console.WriteLine(100.5); } } 只要寫下一個整數的10元,它就是一個int型別的資料。換句話說,當寫下的是一個整數的資料,則此整數資料的型別將被預設型別為int型別。 特別的是若把這個整數資料直接給到一個整數類型的變數中(變數的宣告與給定資料的動作都寫在同一行),這時編譯器會再一次的決定這個整數資料的真正型別。比如將整數10給到byte型別的變數中,這時這個整數10就會擁有byte型別。 寫下一個整數10後加上一個「L」,這時這個資料,它的型別就是long型別。 因為100.5後面加上了「F」,因此將會以浮點數-float做為數值的型別。 有小數的數,如100.5元,則預設會以double做為值的型別。 小提示 當然,若以‘a’的方式寫下的資料,即表示字元-char型別的資料;若寫下的是true或 false的資料,則表示是bool型別的資料。 掌握 C# 4.0 設計概要
2-3 基本資料的轉型-Casting for Primitive Type • 其實現金資料,是可以透過轉型改變所屬的型別。 • 在C#中,數值類型的資料是可以改變型別的,好比說int型別的資料100,若變更為有小數的數100.0時,這時候它的型別已經改變為有小數的型別float或double了。就好像誤把100元的美金使用int型別的變數來保存,但後來發現這是美金,因此可以轉型為double型別的變數,以存放小數的金額部份。 掌握 C# 4.0 設計概要