C# 入門指南

單元 1 - 認識 C# 語言

~~學習進度表~~

早期寫程式是要開啟文字編輯器 (text editor) ,然後將原始程式碼 (source code) 逐字元 (character) 一個一個打進文字編輯器中,然後依純文字檔案的編碼儲存程式檔案 (file) 。

C# 加上 .NET 比較複雜一點,要求新手入門就要有專案 (project) 的觀念,這裡我們先跳過專案,先來談談 C# 程式的原始碼檔案,副檔名為 .cs ,如下

.cs

下一個單元在介紹怎麼用 C# 官方團隊提供的工具在 Visual Studio Code 建立專案,以及怎麼執行專案程式,同樣的方式可以運用在 Windows PowerShell 中,以下先用 Windows 的「記事本」開啟第一個範例 Program.cs

記事本是普通的文字編輯器,並不具備開發程式的輔助功能,以下是用 Visual Studio Code 開啟 Program.cs

我們在「基礎篇」跟「軟體開發篇」採用 Visual Studio Code 介紹 C# 程式,「 WPF App 篇」及「 Android App 篇」則會 Visual Studio Community 2019 進行 Windows 視窗程式及 Android App 的開發。

Visual Studio Code 的下載網址為 Download Visual Studio Code ,下載安裝檔後,開啟安裝檔,然後依指示安裝即可。至於安裝 Visual Studio Community 2019 請參考官方文件 Miscrosoft Docs | 安裝 Visual Studio

以上 Program.cs 用本書的語法高亮度整理如下

using System;

namespace Demo
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}

//《程式語言教學誌》的範例程式
// http://kaiching.org/
// 專案:Demo
// 檔名:Program.cs
// 功能:示範簡單的 C# 程式
// 作者:張凱慶

先看到用栗色標記的幾個字

using namespace class static void string

這些是關鍵字 (keyword) ,關鍵字又稱為保留字,在程式中具有語法上的功能,學習程式設計的初步最主要也是學習使用關鍵字, C# 的關鍵字分成保留識別項的關鍵字及內容關鍵字,總共有 108 個,本書在往後的篇幅會介紹大部分常用的關鍵字。

橄欖色標記的有

System Console WriteLine

這些是程式庫 (library) .NET 中的識別字 (identifier) ,識別字是已經定義好的程式內容,現在的程式語言本身都附有一個龐大的程式庫,在 C# 稱之為 .NET ,程式中已經具有大量已經開發好,測試無誤的程式,這些程式可以直接拿來用,不需要自己從頭開發。

一般稱 .NET 為框架 (framework) ,所謂框架是為了快速開發而預先建立的已開發項目,其實就是大量的程式,這跟程式庫是相同的意思,差別是程式庫的主要目的並非快速開發。

藍色標記的稱為字串 (string)

"Hello World!"

字串就是雙引號圍起來的文字資料,由於程式中經常需要處理字串,因此字串直接以雙引號當作字面常數 (literal) ,字面常數就是程式中直接寫出來的資料。

最底下綠色的是註解 (comment)

//《程式語言教學誌》的範例程式
// http://kaiching.org/
// 檔名:Program.cs
// 功能:示範簡單的 C# 程式
// 作者:張凱慶

註解就是程式中的說明文字,並不會被執行,因此可以用自然語言中文或英文,毋須恪守 C# 的語法規則。 C# 的註解由兩條斜線開始,之後的內容都是註解。

其他黑色則是自行定義的識別字

Demo Prgram Main args

這些識別字除了 Main 之外,其他都可以自行取合法的識別字名稱。

Main() 是 C# 程式執行的預設起點,如果類別 (class) 中沒有定義 Main() , C# 的驅動器 (driver) dotnet 指令便無法執行程式。

以上的 Program.cs 為建立專案的指令自動建立的程式碼,這裡是保留預設程式碼不做任何的變動。

依程式功能劃分, Program.cs 可以分成以下幾個部分

  1. 引入 .NET 程式庫。
  2. 定義命名空間 (namespace) Demo
  3. 定義類別 Program
  4. 定義 staticMain() 方法 (method) 。
  5. 印出 Hello World! 字串內容。

首先使用關鍵字 using 引入 .NET 程式庫

using System;

這是要在下面使用 Console 類別的 WriteLine() 方法,利用 WriteLine() 在命令列上印出字串內容

Console.WriteLine("Hello World!");

再來定義命名空間 Demo

namespace Demo
{
    // 命名空間的內容
}

關鍵字 namespace 底下大括弧的範圍就屬於命名空間 Demo

然後定義類別 Program

class Program
{
    // 類別的內容
}

類別名稱 Program 依習慣跟檔案名稱 Program.cs 相同。

類別是物件 (object) 的模板,單元 10 - 類別會開始詳細介紹怎麼定義類別。

最後定義 staticMain() 方法,並且在 Main() 中印出字串

static void Main(string[] args)
{
    Console.WriteLine("Hello World!");
}

因此這個程式就是在命令列 Windows PowerShell 上印出 Hello World! 囉!我們後續在基礎篇會採這樣的程式架構進行教學與說明,後續單元才會逐步詳細講解怎麼定義命名空間、類別跟方法。

程式很簡單,接下來,我們繼續來看看如何建立專案與執行。

相關教學影片

上一頁 基礎篇
回 C# 入門指南首頁
下一頁 單元 2 - 在 Visual Studio Code 建立 C# 的 .NET 專案與執行
回 C# 教材首頁
回程式語言教材首頁
中英文術語對照
字元character
類別class
註解comment
驅動器driver
檔案file
框架framework
識別字identifier
關鍵字keyword
程式庫library
字面常數literal
方法method
命名空間namespace
物件object
專案project
原始程式碼source code
字串string
文字編輯器text editor
參考資料
1. Microsoft Docs | C# 語言和 .NET Framework 簡介
2. Microsoft Docs | Hello World -- 您的第一個程式 (C# 程式設計手冊)
3. Microsoft Docs | .NET Core CLI - .NET Core 命令列介面 (CLI) 工具
重點整理
1. C# 程式的副檔名為 .cs
2. C# 程式要先定義命名空間,然後在命名空間裡面定義類別。
3. 可執行的 C# 程式要在類別中定義 Main() 方法。
4. 關鍵字在程式中具有語法上的功能。
5. 識別字是程式中自行命名的名稱。
6. 程式庫為已經定義好的程式內容,在自己寫的程式可以直接使用。
7. 字串是雙引號圍起來的文字資料。
8. 註解是程式中不會被執行的部分, C# 的註解採用連續兩條斜線。
9. 關鍵字 using 可以用來引入程式庫內容。
問題與討論
1. 可以用 Word 寫程式嗎?有什麼不方便的地方呢?
2. 識別字就是變數嗎?兩者有什麼不同呢?
3. 想想看應該替程式碼提供哪些註解?什麼地方需要?什麼地方又不需要?
4. 物件導向程式語言除了 C# 還有其他的嗎? C 語言是嗎? Java 是嗎? Fortran 呢?
5. 物件是程式設計的中文術語,英文原文為 object ,其實 object 就是一般中文「東西」的意思,想一想平常我們是怎麼運用「東西」的,「東西」的概念如何移植到程式設計的物件中?
練習
1. 下載安裝 Visual Studio Code ,並開啟 Visual Studio Code ,看看 Visual Studio Code 提供哪些提示訊息。
2. 打開 Windows PowerShell ,利用指令 cd 可以切換所在路徑,試著打 cd Desktop ,將所在路徑更改為桌面,再打 md Demo ,指令 md 用來建立新的資料夾,最後再打 cd Demo ,進入到資料夾 Demo 內。