你的第一支 C# 範例程式

接下來,我們會示範如何使用最簡單的記事本,建立一支 C# 主控台應用程式

本課程會先透過 .NET CLI 命令列工具手寫入門程式,之後再切換至 IDE 開發。Visual Studio 是微軟專為 Windows 平台打造的 C# 整合開發環境(IDE),內建編輯器、語法檢查、專案管理等完整工具組,後續章節我們會實際操作。

主控台程式:執行於命令列視窗,不具圖形介面 GUI。

主控台程式就是那個黑底的命令提示視窗,沒有圖形介面,透過輸入指令來執行程式。

讀者可在開始功能表搜尋 CMD,就能開啟主控台視窗。

早在 DOS 年代,主控台類型的程式就被廣泛使用。GUI 則是具備圖形視窗介面的軟體,無論是圖形介面還是主控台程式,底層的程式邏輯其實大同小異。

建立專案

建立專案資料夾

開啟 CMD,透過 cd 指令切換到存放程式碼的資料夾,接著建立名為 HelloWorld 的資料夾

C:\csdemo>mkdir HelloWorld

C:\csdemo>cd HelloWorld

C:\csdemo\HelloWorld>

csdemo 是 C 槽底下專門存放 C# 專案的資料夾,各位可以自行規劃存放路徑,不用跟本文範例完全相同。

上方的 mkdir HelloWorld 指令會建立 HelloWorld 資料夾,接著切換進入該資料夾。

最後會產生完整路徑:C:\csdemo\HelloWorld

建立原始碼檔案

接下來我們要建立副檔名為 .cs 的原始程式檔

開啟記事本,新增程式檔 Program.cs(C# 原始碼固定使用 .cs 作為副檔名),先建立純文字檔,再將檔名修改為 Program.cs

本教學內容來源 foxdevelop.com

用記事本開啟剛建立的檔案,貼入以下程式碼:

System.Console.WriteLine("Hello Wellcome to FoxDevelop.com!");Code language: CSS (css)
  • Console 類別:負責主控台畫面輸出的類別
  • WriteLine() 是輸出用方法
  • System:內建基礎命名空間,收納所有基礎工具類別

System.Console.WriteLine 的格式為 命名空間.類別名稱.方法名稱,後續章節會詳細解釋。現在只需理解這行程式碼會在主控台印出 Hello Wellcome to FoxDevelop.com! 這段文字,文字內容必須使用英文雙引號包裹。

建立專案設定檔

新增專案設定檔 Hello.csproj(C# 專案副檔名為 .csproj

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType> <!-- 編譯成可執行 exe 檔 -->
    <TargetFramework>net8.0</TargetFramework> <!-- 以 .NET8 執行環境為基礎 -->
  </PropertyGroup>
</Project>Code language: HTML, XML (xml)

這份設定檔的用途是提供 .NET CLI 編譯規則,也可透過調整參數輸出 DLL 類別庫。

提醒各位,.NET8.0 是 .NET CORE 的後續版本,微軟已更名;舊版名稱會帶 CORE,現行版本統一稱為 .NET。

若你的電腦尚未安裝 .NET 8.0,必須先完成安裝才能執行程式。

安裝檔可由此下載:Download .NET 8.0 (Linux, macOS, and Windows) | .NET

請依自身作業系統選擇安裝程式,本文使用 Windows10 64位元,因此選用對應版本,如下圖所示。

撰寫本文當下,.NET 最新版本為 .NET 10,若想使用最新版,只需將設定檔內的 net8.0 替換成對應版本號即可。

關於 .NET 體系

另外還有 .NET Framework 分支,僅支援 Windows 作業系統,屬於舊版 .NET,最新版本為 .NET Framework 4.8。微軟目前同時維護兩條技術路線。

.NET 各版本差異可參考上一節內容。

編譯與執行

切換 CMD 路徑至專案資料夾(Hello.csproj 所在位置),執行 dotnet run 指令即可一併編譯並執行程式,畫面會輸出 Hello Wellcome to FoxDevelop.com!

C:\csdemo\HelloWorld>dotnet run
Hello Wellcome to FoxDevelop.com!Code language: CSS (css)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *