新聞中心
學(xué)習(xí)C#靜態(tài)方法之前我們首先來看看C#靜態(tài)函數(shù)及變量是什么以及C#靜態(tài)函數(shù)及變量的具體形式及注意事項是什么?那么我們來看看一個經(jīng)典例子與代碼:

創(chuàng)新新互聯(lián),憑借十多年的網(wǎng)站設(shè)計、網(wǎng)站制作經(jīng)驗,本著真心·誠心服務(wù)的企業(yè)理念服務(wù)于成都中小企業(yè)設(shè)計網(wǎng)站有上千余家案例。做網(wǎng)站建設(shè),選創(chuàng)新互聯(lián)建站。
(1)用于對靜態(tài)字段、只讀字段等的初始化。
(2)添加static關(guān)鍵字,不能添加訪問修飾符,因為靜態(tài)構(gòu)造函數(shù)都是私有的。
(3)類的靜態(tài)構(gòu)造函數(shù)在給定應(yīng)用程序域中至多執(zhí)行一次:只有創(chuàng)建類的實(shí)例或者引用類的任何靜態(tài)成員才激發(fā)靜態(tài)構(gòu)造函數(shù)
(4)靜態(tài)構(gòu)造函數(shù)是不可繼承的,而且不能被直接調(diào)用。
(5)如果類中包含用來開始執(zhí)行的 Main 方法,則該類的靜態(tài)構(gòu)造函數(shù)將在調(diào)用 Main 方法之前執(zhí)行。任何帶有初始值設(shè)定項的靜態(tài)字段,則在執(zhí)行該類的靜態(tài)構(gòu)造函數(shù)時,先要按照文本順序執(zhí)行那些初始值設(shè)定項。
(6)如果沒有編寫靜態(tài)構(gòu)造函數(shù),而這時類中包含帶有初始值設(shè)定的靜態(tài)字段,那么編譯器會自動生成默認(rèn)的靜態(tài)構(gòu)造函數(shù)。
以下用例子代碼進(jìn)一步說明:
- /**
- * 靜 態(tài) 構(gòu) 造 函 數(shù) 練 習(xí)
- * (1)①②③……為執(zhí)行順序
- * (2)輸出結(jié)果: static A()
- * static B()
- * X = 1, Y = 2
- **/
- using System;
- class A { public static int X; static A()
- //④ 執(zhí)行完后返回到③ { X = B.Y + 1;
- //Console.WriteLine("static A()"); }
- //} class B { public static int Y = A.X + 1;
- //③ 調(diào)用了A的靜態(tài)成員,
- // 轉(zhuǎn)到A的靜態(tài)構(gòu)造函數(shù)----> static B()
- //② 如果帶有初始值設(shè)定項的靜態(tài)字段,
- // 執(zhí)行該類的靜態(tài)構(gòu)造函數(shù)時,
- // 先要按照文本順序執(zhí)行那些初始值設(shè)定項。
- // 轉(zhuǎn)到初始值設(shè)定項----> { Console.WriteLine("static B()"); } static void Main()
- //① 程序入口,
- // 如果類中包含用來開始執(zhí)行的 Main 方法,
- // 該類的靜態(tài)構(gòu)造函數(shù)將在調(diào)用 Main 方法之前執(zhí)行。
- // 轉(zhuǎn)到B的靜態(tài)構(gòu)造函數(shù)----> {
- //Console.WriteLine("X = {0}, Y = {1}", A.X, B.Y);
- //⑤ 輸出結(jié)果 Console.ReadLine(); } }
C#靜態(tài)函數(shù)及變量的相關(guān)內(nèi)容就向你介紹到這里,希望對你了解和學(xué)習(xí)C#靜態(tài)函數(shù)及變量有所幫助。
網(wǎng)站名稱:C#靜態(tài)函數(shù)及變量學(xué)習(xí)總結(jié)淺析
文章位置:http://m.fisionsoft.com.cn/article/dpogdod.html


咨詢
建站咨詢
