使用 Try .NET 建置第一個應用程式

已完成

在本課程模組的開端,我們假設您已使用 C# 來撰寫 "Hello World" 應用程式。 如果您還沒有這麼做,建議您複習此學習路徑的第一個課程模組:撰寫您的第一個 C# 程式碼

為了簡單起見,我們會重寫 "Hello World" 應用程式,但是這次我們會採用 .NET 的觀點並查看幕後發生的情況。

使用 C# 建置簡單的應用程式

稍早,您已了解 Try .NET 提供了一種簡單的方式來實驗 C# 與 .NET。 您可以使用 Try .Net,而不需在本機電腦上安裝任何軟體。

注意

在本課程模組中,您會使用瀏覽器內建的 Try .NET 版本。 如果您想要在完成此練習之後實驗該應用程式,請移至 https://try.dot.net。 Try .NET 是嘗試小型程式碼範例的絕佳方式,無需在本機電腦上安裝任何項目。

步驟 1 - 撰寫程式碼

在此網頁右側的 .NET 編輯器中,輸入下列程式碼範例。 或者,複製程式碼範例,然後將其貼到 .NET 編輯器中。

Console.WriteLine("Hello world!");

如同您在先決條件課程模組中所了解的,"Hello World" 是一個簡單的標準程式碼範例,開發人員都會撰寫此範例來了解新程式設計語言的基本語法。 您可以從此簡單範例中了解許多有關 C# 語法的資訊。 現在,我們會使用此範例,特別深入了解 .NET 的詳細資訊。

步驟 2 - 執行程式碼

選取 .NET 編輯器中的綠色 [執行] 按鈕。 如果輸入的 C# 程式碼正確,「Hello World!」 字組會出現在 [輸出] 窗格中。

重要

如果您在執行此程式碼時看到任何錯誤,請複製程式碼,然後貼入 .NET 編輯器中,並再次嘗試執行程式碼。

您撰寫的程式碼會發生什麼事?

Try .NET 的瀏覽器版本會隱藏一些您在使用 Try .NET、Visual Studio 2022 或 Visual Studio Code 建置完整應用程式時所看到的程式碼。

當您包含隱藏的程式碼時,範例看起來如下:

using System;

public class Program
{
  public static void Main()
  {
    Console.WriteLine("Hello world!");
  }
}

瀏覽器內部的 Try .NET 環境會使用您先前所了解的相同步驟。 唯一的差異在於隱藏了一些程式碼以簡化體驗。

請聚焦於展開的程式碼檢視上,您可以看見一連串的大括號 { }。 C# 會使用一對大括號來定義「程式碼區塊」。 不同種類的程式碼區塊可用於不同目的。

包括大括號組合的程式碼 public static void Main() 會定義稱為方法的程式碼區塊類型。 方法包含一組程式碼,其適用於軟體系統中的單一用途或責任。

在此案例中,方法包含單一行程式碼,且其用途是顯示訊息。 較大型程式則可以會包含數以百計,甚至數以千計的方法。

方法會在另一個稱為「類別」的程式碼區塊中加以組織。 類別可包含一或多個方法。 類別中的所有方法在系統中都會具備相關用途。 上述程式碼中的類別會命名為 Program

在您插入的程式碼行中,Console.WriteLine()「正在呼叫」或執行 WriteLine() 方法。 WriteLine() 方法包含於 Console 類別中。

此程式碼在哪裡? 其位於基底類別庫中。 實際上,其完整名稱是 System.Console.WriteLine()。 在上述程式碼範例中,您看到的第一行是:

using System;

您對 Console.WriteLine() 的呼叫中省略了 System 這個字。 但第一行程式碼 using System; 會告知 C# 編譯器,若在程式碼中找不到方法定義,則查看基底類別庫。

注意

別擔心方法、類別、System 與 using 之類的 C# 特定術語。 您會在稍後了解這些項目。 我們的目前重點在編譯和執行您程式碼的程序。

在將您的程式碼插入到 Main() 方法之後,會發生什麼事?

此練習最重要的部分是,在將您撰寫的程式碼插入到 Main() 方法後,會發生什麼事。 請記住,以下程序會代表您在伺服器上執行。

  1. 用來編譯新程式碼的命令會叫用 C# 編譯器。

  2. C# 編譯器會確保您的程式碼可以編譯,而且不會出現語法錯誤。 如果無法編譯程式碼,編譯器就會停止,並將錯誤訊息傳送回 [輸出] 窗格。

  3. 如果 C# 編譯器成功,則 .NET 執行階段會開啟新編譯的 .NET 組件。 根據預設,其會在名為 Program 的類別中尋找名為 Main() 的方法,以開始執行指令。

  4. .NET 執行階段會依指示逐一評估每行程式碼。 其會執行指示,然後移至下一行程式碼。

  5. 在此情況下,當列印「Hello world!」文字的指令完成時,執行中的路徑會繼續下一行,但找不到任何內容。 路徑結束,而 .NET 執行階段會從記憶體中移除程式。 同時,將 WriteLine() 指示的輸出傳送回您的網頁瀏覽器。

這個事件順序,以及程式設計語言、編譯器與執行階段之間責任的基本劃分,均為您在開始使用時所了解到的最重要概念。