C# 中的靜態建構子是僅在建立類別中實作的靜態成員的參考期間呼叫一次的建構子。靜態建構函數的主要功能是初始化類別的靜態成員,並且僅執行一次。顧名思義,靜態建構函數不允許使用者明確控制,而是在呼叫類別的實例時自動執行,此外,靜態建構子在其定義中不帶任何參數或存取聲明,因此它可以不被直接呼叫。靜態建構子不能被繼承或重載,只能由 CLR(公共語言執行時期)存取。
以下是C#中靜態建構子的一些特性和使用的詳細解釋:
以下功能描述了靜態建構子:
靜態建構子主要用於日誌程序,用於寫入在每個實例期間初始化的參數條目。靜態建構函數是建立資料庫連接的理想位置,因為它們首先載入並始終保持靜態。在 C# 程式語言中,靜態建構子遵循以下語法。
文法:
class ABC { //defining the static constructor using the same name as class static ABC() { //constructor specific code comes here } }
以下是 C# 中靜態建構子的一些基本工作原理:
以下是 C# 中靜態建構子的一些範例:
代碼:
using System; namespace HappyConstructor { class Happy { //let us declare and initialise the static data members private static int id = 7; public static int Id { get { return id; } } public static void printVariable() { Console.WriteLine("Happy.id = " + id); } static void Main(string[] args) { //let us print the value of ID from the class Happy. printVariable (); } } }
輸出:
說明:上面宣告了靜態成員id並初始化為初始值10。
代碼:
using System; namespace Happy1Constructor { class Happy1 { private static int Id; //data member (id) is set conditionally here to show actions of a Static constructor static Happy1 () { if (Happy1.Id < 10) { Id = 25; } else { Id = 1000; } Console.WriteLine("Static Constructor for Class Happy Called.."); } public static void print() { Console.WriteLine("Happy1.Id = " + Id); } public static void Main(string[] args) { // the value of Id is displayed as Happy1.print(); } } }
輸出:
說明: 在上面的範例中,建構子有條件地依賴 example1 中產生的 Happy.cs 檔案。這裡靜態建構函式初始化自身。由於第一種情況下產生的 Id 欄位的值是 7,且根據條件運算符,如果該欄位的值小於 10,則 Happy1 建構函數的 Id 欄位的值應為 25。這是一個經典範例在載入類別的第一個實例時初始化靜態建構子。靜態建構函式利用此功能來預先載入程式引用的輸入參數。
靜態建構函式用於初始化任何靜態資料和/或執行需要為程式執行一次且僅一次的任何特定操作。在啟動類別的任何物件或將任何成員載入到執行時間環境之前呼叫此建構函式。
以上是C# 中的靜態建構函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!