C# 程式的常規結構
C# 程式可由一個或多個檔案組成。每個檔案都可以包含零個或零個以上的命名空間。一個命名空間除了可包含其他命名空間外,還可包含類、結構、介面、枚舉、委託等類型。以下是 C# 程式的主幹,它包含所有這些元素。
//引用其他命名空間
using System;
//當前命名空間
namespace YourNamespace
{
//類
class YourClass
{
}
//結構
struct YourStruct
{
}
//介面
interface IYourInterface
{
}
//委託
delegate int YourDelegate();
//枚舉
enum YourEnum
{
}
//子命名空間
namespace YourNestedNamespace
{
struct YourStruct
{
}
}
//主類
class YourMainClass
{
//Main 方法
static void Main(string[] args)
{
//Your program starts here
System.Console.WriteLine("Hello World!");
System.Console.ReadLine();
}
}
}
Main 方法
C# 程式必須包含一個 Main 方法,程式控制在該方法中開始和結束。在 Main 方法中建立對象和執行其他方法。
Main 方法是駐留在類或結構內的靜態方法。在前面的“Hello World!”樣本中,它駐留在名為 YourMainClass 的類中。用下列方式之一聲明 Main 方法:
- 該方式返回 void:static void Main()
{
//
}
- 它還可以返回 int:static int Main()
{
//
return 0;
}
- 由於有這兩個傳回型別,它可以帶有參數:static void Main(string[] args)
{
//
}或者
static int Main(string[] args)
{
//
return 0;
}
Main 方法的參數是 string 數組,該數組表示用於啟用程式的命令列參數。請注意,不像 C++,該數組不包含可執行 (exe) 檔案名稱。
Main 方法是程式的進入點,程式控制在該方法中開始和結束。
該方法在類或結構的內部聲明。它必須為靜態方法,而不應為公用方法。(在上面的樣本中,它接受預設存取層級 private。)
它可以具有 void 或 int 傳回型別。
聲明 Main 方法時既可以使用參數,也可以不使用參數。
參數可以作為從零開始索引的命令列參數來讀取。
與 C 和 C++ 不同,程式的名稱不會被當作第一個命令列參數。
有關使用命令列參數的更多資訊,請參見 Main() 和命令列參數(C# 編程指南)和如何:建立和使用 C# DLL(C# 編程指南)中的樣本。
輸入和輸出
C# 程式通常使用 .NET Framework 的執行階段程式庫提供的輸入/輸出服務。語句 System.Console.WriteLine("Hello World!"); 使用了 WriteLine 方法,該方法是執行階段程式庫中的 Console 類的輸出方法之一。它顯示了標準輸出資料流使用的字串參數,輸出資料流後面跟一個新行。其他 Console 方法用於不同的輸入Console.ReadLine()和輸出Console.WriteLine("Hello World!")操作。如果程式開始處包含 using System; 指令,則無需完全限定 System 類和方法即可直接使用它們。例如,您可以改為調用 Console.WriteLine,而不必指定 System.Console.Writeline: