共用方式為


深入 C# 程式 (Visual C#)

更新:2007 年 11 月

為了了解 C# 程式的運作方式,讓我們檢查傳統的 "Hello World!" 程式,依序處理每一行 C# 程式碼。如果您想要建立自訂版本的這個程式,請參閱主題 HOW TO:建立 C# 主控台應用程式,取得撰寫、建置和執行類似 C# 應用程式的逐步說明指南。

Hello World,C# 樣式

C# 語言使用類別來組織和封裝程式碼。事實上,所有可執行的 C# 程式碼都必須包含在類別中,即使是在像 "Hello World!" 這樣的小程式。以下是在主控台視窗中顯示 "Hello World!" 的完整程式。

// A Hello World! program in C#
using System;
namespace HelloWorld
{
    class Hello 
    {
        static void Main() 
        {
            System.Console.WriteLine("Hello World!");

            // Keep the console window open in debug mode.
            System.Console.WriteLine("Press any key to exit.");
            System.Console.ReadKey();
        }
    }
}

using 指示詞和命名空間

當您以 Visual C# Express 版建立主控台應用程式時,[程式碼編輯器] 的前面幾行會包含 using 指示詞,列出數種 .NET Framework 命名空間。命名空間是一種將類別和結構 (Struct) 群組在一起的方式,這種方式會限制其範圍並避免名稱和其他類別和結構衝突。在 Visual C# Express 中建立程式時,會自動為您建立命名空間。若要使用程式中其他命名空間的類別,您必須使用 using 指示詞指定它們。在您建立新的應用程式時,預設會列出最常用的 .NET Framework 命名空間。如果您使用類別庫 (Class Library) 中其他命名空間的類別,就必須將該命名空間的 using 指示詞加入至原始程式檔 (Source File)。如需命名空間的詳細資訊,請參閱命名空間 (Visual C# Express)

當程式碼編輯器偵測到您已經宣告了某個類別或結構,但是無法在列於目前 using 指示詞的命名空間找到,它就會建議建立包含該類別或結構的命名空間。

註解

在 using 陳述式後,下一行會包含註解。註解可以加上有助於自己和其他程式設計人員了解程式碼的提示。

// A Hello World! program in C#

字元 // 可以將這行的後面部分轉換成註解。您也可以藉由將一段文字區塊放置在 /* 和 */ 的字元間進行註解,例如:

/* A "Hello World!" program in C#.
This program displays the string "Hello World!" on the screen. */

您可以使用格式化選項自動註解程式碼。如需詳細資訊,請參閱HOW TO:將程式碼的行數標記為註解 (C# Express)

類別

C# 語言使用類別封裝程式碼:所有可執行的 C# 程式碼都必須包含在類別中。如需詳細資訊,請參閱類別 (Visual C# Express)

Main()

  • C# 程式必須包含一個 Main 方法,以便控制項在其中開始和結束。您可以在 Main 方法中建立物件和執行其他方法。Main 方法是位於類別或結構內的一種靜態方法。在 "Hello World!" 範例中,這個方法位在 Program 類別中。

Main 方法可以下列其中一個方式定義:

  • 它會傳回 void

    static void Main()
    {
        //...
    }
    
  • 它也可以傳回 int

    static int Main()
    {
        //...
        return 0;
    }
    
  • 它可以取得引數,對於命令列公用程式很有用:

    static void Main(string[] args)
    {
        //...
    }
    

    -或-

    static int Main(string[] args)
    {
        //...
        return 0;
    }
    

Main 方法的參數為字串陣列,代表用來叫用 (Invoke) 程式的命令列引數。請注意,與 C++ 不同的是,這個陣列不包括可執行檔 (exe) 的名稱。如需詳細資訊,請參閱 Main() 和命令列引數 (C# 程式設計手冊)

主控台輸入和輸出

C# 主控台程式一般使用 .NET Framework Console 類別提供的輸入/輸出服務。Console.WriteLine("Hello, World!"); 陳述式使用 WriteLine 方法。它會在新行之前的命令列視窗中顯示其字串參數。其他 Console 方法則用於不同的輸入和輸出作業。Console 類別是 System 命名空間的成員。如果 using System; 陳述式並未包含在程式的開頭,就必須使用下列方式指定 System 類別:

System.Console.WriteLine("Hello World!");

如果您正在撰寫主控台應用程式,WriteLine 方法非常有用,且可時常派上用場。

WriteLine 能夠顯示字串:

Console.WriteLine("Hello World!");

WriteLine 也能夠顯示數字:

int x = 42;
Console.WriteLine(x);

如果您需要顯示數個項目,請使用 {0} 代表第一個項目,{1} 代表第二個項目等等,看起來如下所示:

int year = 1066;
string battle = "Battle of Hastings";
Console.WriteLine("The {0} took place in {1}.", battle, year);

輸出將如下所示:

The Battle of Hastings took place in 1066.

請參閱

工作

HOW TO:建立 C# 主控台應用程式

概念

C# 語言入門