規範
clothes經典性“hello, world”程式可以寫為:
using System;
class Hello
{
static void Main() {
Console.WriteLine("hello, world");
}
}
C# 程式的原始碼通常儲存在一個或多個以 .cs 為副檔名的文字檔(如 hello.cs)中。可以通過 Visual Studio .NET 所提供的命令列編譯器,使用以下命令列指令來編譯此程式:
csc hello.cs
它產生一個名為 hello.exe 的應用程式。當此應用程式運行時,它產生的輸出是:
hello, world
仔細觀察此程式可以發現:
“using System;”指令引用一個名為 System 的命名空間,它由 Microsoft .NET Framework 類庫定義。此命名空間包含 Main 方法中引用的 Console 類。命名空間提供了一種分層方法來組織一個或多個程式中的各種元素。用“using”指令指定一個命名空間後,該命名空間中的所有成員均可直接被引用。所以,在“hello, world”程式中,可直接使用 Console.WriteLine(而不必使用 System.Console.WriteLine)。
Main 方法是 Hello 類的成員。它具有 static 修飾符,因此 Main 方法是相對於類 Hello 本身而不是相對於此類的執行個體。
應用程式的進入點(即當程式開始運行時首先被調用的方法)總是名為 Main 的靜態方法。
“hello, world”輸出依靠類庫實現。C# 語言本身不提供類庫,它使用公用的類庫(Visual Basic .NET 和 Visual C++ .NET 也使用它)。
對 C 和 C++ 開發人員而言,值得注意的是一些“沒有”出現在“hello, world”程式中的東西。
該程式中的 Main 方法不是全域的。C# 不支援全域層級的方法和變數;這類元素總是包含在型別宣告(如類聲明和結構聲明)中。
該程式沒有使用“::”運算子和“->”運算子。在 C# 中,“::”根本不是運算子,而“->”運算子僅在一小部分程式中使用,即那些涉及不安全的程式碼的程式。分隔字元“.”在複合名稱中使用,如 Console.WriteLine。
該程式沒有包含前向聲明。C# 中聲明出現的順序並不重要,所以不需要作前向聲明。
該程式沒有使用 #include 匯入程式文本。程式間的依賴項通過符號而不是文本來控制。這樣就消除了由多種語言編寫的應用程式之間的障礙。例如,Console 類不需要用 C# 編寫。