• Like
  • Save
C#
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Published

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,128
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Visual C# 2008 範例教學手冊 課程簡報大綱
  • 2. 第一章 認識 Visual C#
    • 電腦簡介
    • Visual C# 簡介
    • 程式初瞥
    • C# 的程式架構
    • 命名空間
  • 3. 1-1 電腦簡介
    • 電腦 (Computer) 是由許多不同功能的電子零件及機械裝置所組成,因為它能執行算術運算,所以也稱為 電子計算機 (Electronic Computer) ,簡稱 計算機。
    • 電腦基本上包括 硬體 (Hardware) 與 軟體 (Software) 兩大部分:硬體是一組可執行程式的實體,軟體是可提供電腦指令的程式。
  • 4. 1-1-1 電腦硬體
    • 腦硬體包括 中央處理單元、記憶體、資料儲存媒體 及 輸出入設備。
  • 5. 1-1-2 資料的儲存格式
    • 料儲存在記憶體是以電壓的高低來表示,因此我們以 0 和 1 來對應電壓的高低,也就是說記憶體靠著電流來保存一連串的 0 和 1 資料。
    • 資料存在儲存媒體是則以磁性的正負來表示,因此我們以 0 和 1 來對應磁性的正負,也就是說儲存媒體靠著磁性來保存一連串的 0 和 1 。
    • 由於電腦只能處理 0 和 1 資料,也就是二進位數系的資料,而我們習慣使用十進位數系的資料,因此資料進出記憶體必須經過轉換。
  • 6. 1-1-3 電腦軟體
    • 電腦軟體是提供電腦指令的程式,分系統軟體與應用軟體兩大部分:
      • 系統軟體用來開發或執行其他的軟體,分作業系統與轉換系統。
      • 應用軟體是為了解決特殊問題或提供特別服務的程式,如上網的 IE 、繪圖的 AutoCAD 等。
  • 7. 1-1-4 電腦程式
    • 電腦軟體是由許多電腦程式 (Computer Program) 所組成,電腦程式是供電腦執行的一系列指令 (Instructions) 。撰寫電腦程式的工具叫程式語言 (Program Language) ,它使用一些特定的字彙、語法來規範撰寫規則。電腦工程上有許多種的程式語言,就好像世界上有許多國家語言一樣。
    • 一個程式是由許多的 敘述句 (Statements) 或稱 指令 (Instructions) 所組成。每一個句子必須遵循一定的程式語法 (Syntax) 並提供一定的語意 (Semantics) 。
  • 8. 1-1-5 電腦程式的開發
    • 一個應用系統的開發一般是先做系統分析與系統設計,系統設計以後定出各程式的規範,就可進行程式的開發。程式的開發是先撰寫程式碼 (Coding) ,再進行程式轉換與測試,轉換有錯回頭修改程式碼,再重新轉換。測試有錯也要回頭修改程式碼,再重新轉換與測試。
  • 9. 1-1-6 電腦程式的偵錯
    • 在程式開發過程,從撰寫程式碼開始到程式完全可用,會經歷許多錯誤,包括:
      • 轉換時錯誤 (Compile-time errors) ( 又稱語法錯誤 Syntax errors) :程式碼含有語法上的錯誤,無法產生執行檔或機器碼。
      • 執行時錯誤 (Run-time errors) :執行檔或機器碼執行時發生未控制的錯誤,錯誤訊息由作業系統送出。
      • 邏輯錯誤 (Logical errors) :執行檔或機器碼執行時產生非預期的結果。
  • 10. 1-2 Visual C# 簡介
    • C# ( 發音為 C Sharp) 是微軟 (Microsoft) 公司為 .NET Framework 量身訂做的程式語言,介紹 C# 得從 C 系列程式語言的演進開始: C# 是 1980 年由貝爾實驗室所開發, Java 是 1990 年由昇陽 (Sun Microsystems) 公司所創作, C# 則是 2000 年 6 月由微軟公司所推出。 Java 除了承襲 C/C# 的優點外,其跨平台的 Virtual Machine 設計,讓微軟大哥眼紅不已,尤其微軟在與昇陽的 JVM 官司後, C# 向 Java 挑戰的意味相當的濃厚,其架構與 Java 相似也不在話下。 C# 不但繼承 C/C# 和 Java 的特點,更融入自家的 Visual Basic 功能,而大有明日之星的架勢,尤其在 Vista 推出後, C# 儼然成為微軟程式開發工具的新教主。
  • 11. 1-2-1 Visual C#.NET
    • Visual C#  .NET 是一種新的程式語言,是用來設計各種可執行於 .NET Framework 上的應用程式,是 Microsoft C 和 Microsoft C# 的改良版。 Visual C# 則是根據 C# 程式語言所發展的視覺化程式開發工具,就像 Eclipse 是用來開發 Java 的 IDE 一樣,目的都是讓使用者輕鬆的開發程式。實際上 C# 也可以用小作家編輯程式碼,然後利用 .NET Framework SDK tools 裡的工具做翻譯與執行,但開發大型程式若使用有顯示行數的 IDE 會比較方便與有效。
  • 12. 1-2-2 Visual C# 的運作方式
    • C# 程式語言兼具翻譯與直譯的功能,它的中介語言檔可以讓你的程式「寫一次,到處可執行」,也就是說 C# 程式有跨平台 (Platform Independence) 的功能,在任何裝有 C# 翻譯程式的作業系統上翻譯好的程式,可以在任何裝有 .NET Framework 的作業系統上執行。
  • 13. 1-2-2 Visual C# 的運作方式
  • 14. 1-2-3 C# 的作業平台
    • C# 作業平台 .NET Framework 包含 類別庫 (FCL, Framework Class Library) 及 共同語言執行環境 (CLR, Common Language Runtime) 。
  • 15. 1-2-3 C# 的作業平台
  • 16. 1-3 程式初瞥
    • 學習程式撰寫不是研究電腦理論,而是熟悉程式語法的使用,程式語法有許多,不論簡單或複雜的語法,都必須置於一定的架構下。開始時,我們先用最簡單的程式敘述句介紹 Visual C# 程式的架構。
  • 17. 1-3-1 SDK 的安裝
    • 雖然一般程式語言都可以用文字編輯器 ( 例如: Notepad 記事本或 WordPad) 來撰寫,再使用 SDK 裡的轉換程式編譯,但開發效率比不上使用 IDE 工具。建議安裝 C# 開發平台 Visual Studio 2008 Express Editions 。
  • 18. 1-3-1 SDK 的安裝
      • 執行 vcssetup 安裝程式,出現 Visual Studio 2008 Express 安裝程式歡迎畫面。
      • 按下 下一步 按鈕,出現授權確認畫面。
      • 點選接受合約後,按下 下一步 按鈕,出現安裝選項畫面。
      • 勾選安裝選擇性產品  ( 可不勾選 )  後,按下 下一步 按鈕,出現安裝資料夾畫面。
      • 鍵入安裝的資料夾後,按下 安裝 按鈕,出現下載及安裝進行畫面。
      • 安裝完成後出現安裝完成畫面,按下 結束 按鈕完成 Visual Studio 2008 Express SDK 的安裝。
  • 19. 1-3-2 IDE 介面說明
    • 裝完成後首次啟動 Visual Studio 2008 Express Edition 程式,出現的 IDE 整合工作視窗:
  • 20. 1-3-3 Hello World 實例
    • 製作原始檔
    • 功能列上點選 檔案 > 新增 > 專案,出現 新增專案 視窗後點選 主控台應用程式 的安裝範本並輸入專案名稱,然後按下 確定 按鈕。
    • 原起始頁位置出現 Program.cs 頁標籤的工作視窗,將視窗內程式碼改成下列的程式碼。
    • 01 /* The HelloWorldApp class displays "Hello World!"
    • 02 to the standard output. */
    • 03 class HelloWorldApp
    • 04 {
    • 05 static void Main(string[] args)
    • 06 {
    • 07 // Display "Hello World!"
    • 08 System.Console.WriteLine("Hello World!");
    • 09 }
    • 10 }
  • 21. 1-3-3 Hello World 實例
    • 將程式碼存檔
    • 點選 檔案 > 全部儲存 指令存回所有的變動檔案。如果是使用 小作家,於檔名欄輸入「 "HelloWorldApp.cs" 」 ( 檔名前後要有雙引號 ) ,檔案格式要選 純文字檔 (Text Document) ,儲存目錄假設是 e:bC#CodeCh01 。
  • 22. 1-3-3 Hello World 實例
    • 將原始檔轉換成中介語言 MSIL 檔
      • 在 Visual C# IDE 視窗功能列選擇 建置 > 建置方案 ( 快速鍵 F7) 。
      • 如果是使用小作家編輯,就必須進入命令提示字元視窗執行 csc 翻譯程式。
  • 23. 1-3-3 Hello World 實例
    • 執行編譯好的 MSIL 檔
      • 在 Visual C# IDE 視窗功能列選擇 偵錯 > 啟動但不偵錯 後即自動執行。
      • 如果是使用小作家編輯,就必須要進入命令提示字元視窗,輸入 HelloWorldApp 。
  • 24. 1-4 C# 的程式架構
    • 任何程式都有它一定的架構,撰寫 Visual C# 程式就要在 Visual C# 程式的架構下,佈置各種程式指令。
  • 25. 1-4-1 程式模版 (Template)
    • 每種程式語言都有自己的架構, C# 程式的架構模式如下:
  • 26. 1-4-2 程式註解
    • 解說明在任何程式語言都是必要的項目,因為程式並不是只給電腦 ( 轉換程式 ) 或設計人看的,其他的相關人員也需看得懂,所以為了方便閱讀,必須在程式適當的地方加上說明文字。
    • 有二種方法用來標示備註說明:
      • 單行註解:在每一行說明前加上 // 符號。
      • 多行註解:在所有說明前加上 /* 符號,說明後加上 */ 符號。
  • 27. 1-4-3 函式位置
    • 如果程式用到系統函式或自訂的外部函式,就要指定所使用函式的位置,語法是以 using 關鍵字來定義。如在程式中使用到資料輸出的函式 WriteLine ,由於 WriteLine 函式存在 System 下的目錄,所以在程式前面定義引用 System 命名空間。另外也可以使用 namespace 關鍵字來定義本身中介語言檔所存放的目錄,不定義時同原始碼的目錄。
  • 28. 1-4-4 程式定義
    • 程式定義是定義中介語言 (IL) 檔的檔案名稱以及主函式位置。
    • 定義類別檔的檔案名稱。
    • 01 using System;
    • 02 using System.Collections.Generic;
    • 03 using System.Linq;
    • 04 using System.Text;
    • 05
    • 06 namespace HelloWorldApp
    • 07 {
    • 08 class HelloWorldApp
    • 09 {
    • 10 static void Main(string[] args)
    • 11 {
    • 12 // 顯示 "Hello World!"
    • 13 Console.WriteLine("Hello World!");
    • 14 }
    • 15 }
    • 16 }
  • 29. 1-4-4 程式定義
    • 主函式定義
    • 每個 C# 程式可以包含許多函式,但其中只有一個是主函式,稱 Main(string[] args) 。
    • 01 using System;
    • 02 using System.Collections.Generic;
    • 03 using System.Linq;
    • 04 using System.Text;
    • 05
    • 06 namespace HelloWorldApp
    • 07 {
    • 08 class HelloWorldApp
    • 09 {
    • 10 static void Main(string[] args)
    • 11 {
    • 12 // 顯示 "Hello World!"
    • 13 Console.WriteLine("Hello World!");
    • 14 }
    • 15 }
    • 16 }
  • 30. 1-4-5 函式使用
    • 01 using System;
    • 02 using System.Collections.Generic;
    • 03 using System.Linq;
    • 04 using System.Text;
    • 05
    • 06 namespace HelloWorldApp
    • 07 {
    • 08 class HelloWorldApp
    • 09 {
    • 10 static void Main(string[] args)
    • 11 {
    • 12 // 顯示 "Hello World!"
    • 13 Console.WriteLine("Hello World!");
    • 14 }
    • 15 }
    • 16 }
    • 函式使用指令包括四部分:類別名稱 ( 例如: System) 、物件名稱 ( 例如: Console) 、函式名稱 ( 例如: WriteLine) 及 傳入函式的資料 ( 例如: "Hello World!") 。
  • 31. 1-5 命名空間 (Namespaces)
    • 每個程式都難免用到視為「黑箱」的系統函式或自定函式,在程式編譯時必須知道「黑箱」內容,命名空間就是用來指示編譯器函式內容的所在位置。
  • 32. 1-5-1 何謂命名空間
    • 據軟體工程的 再利用 (Reuse) 與 模組化 (Modularity) 原則,我們將複雜系統的程式碼分成許多 模組 (Module) ,為了方便管理與使用這些模組程式,我們將這些模組程式分門別類的置放,並給予適當的命名,如同電話黃頁的分類:食、衣、住、行、育、樂是第一層分類,超市、糧油行、餐廳等是食的第二層分類,中餐廳、西餐廳等又是餐廳的第三層分類,酒樓、台菜館、湘菜館等是中餐廳的第四層分類,如果「台灣小吃」是個台菜館,為了便於搜尋最好加上完整的搜尋路徑,寫成「食 - 餐廳 - 中餐廳 - 台菜館 - 台灣小吃」。
  • 33. 1-5-2 命名空間的使用
    • 在命名空間裡有許多不同功能的物件供許多程式共同使用,如果要引用命名空間裡的物件,必須使用物件的全名 ( 即命名空間名稱加上物件名稱 ) 。例如:
    • 01 static void Main(string[] args)
    • 02 {
    • 03 System.Console.WriteLine("My name is Danny");
    • 04 }
    • 01 static void Main(string[] args)
    • 02 {
    • 03 System.String^ path = "c:tempTest.txt";
    • 04 if (!System.IO.File.Exists(path))
    • 05 System.Console.WriteLine("File was Not Found!");
    • 06 }
  • 34. 1-5-3 如何自訂命名空間
    • 告自己的命名空間,有助於在較大的程式專案中控制類別和方法名稱的範圍。在類別的原始碼最前面加一行 namespace directive; namespace 是保留字, directive 是命名空間名稱,是層狀目錄,各層目錄名稱之間以句點 (.) 隔開。
  • 35. 1-5-3 如何自訂命名空間
    • 01 using System;
    • 02 using System.Collections.Generic;
    • 03 using System.Linq;
    • 04 using System.Text;
    • 05
    • 06 namespace HelloWorldApp
    • 07 {
    • 08 class HelloWorldApp
    • 09 {
    • 10 static void Main(string[] args)
    • 11 {
    • 12 // 顯示 "Hello World!"
    • 13 Console.WriteLine("Hello World!");
    • 14 }
    • 15 }
    • 16 }