在C#中,靜態構造函數是一種特殊類型的構造函數,用于初始化靜態成員或執行僅需要進行一次的靜態初始化。它的主要特點是:
靜態構造函數的工作原理如下:
以下是一個簡單的示例,展示了靜態構造函數的用法:
public class MyClass
{
// 靜態變量
public static int MyStaticVariable;
// 靜態構造函數
static MyClass()
{
MyStaticVariable = 10;
Console.WriteLine("靜態構造函數已執行");
}
// 實例構造函數
public MyClass()
{
Console.WriteLine("實例構造函數已執行");
}
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("創建類的實例");
MyClass obj1 = new MyClass();
MyClass obj2 = new MyClass();
Console.ReadKey();
}
}
輸出結果:
靜態構造函數已執行
創建類的實例
實例構造函數已執行
實例構造函數已執行
從輸出結果可以看出,靜態構造函數在創建類的實例之前自動執行,并且只執行一次。