亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#中靜態構造函數的幾點說明介紹

2020-01-24 02:52:48
字體:
來源:轉載
供稿:網友

靜態構造函數是C#的一個新特性,其實好像很少用到。不過當我們想初始化一些靜態變量的時候就需要用到它了。這個構造函數是屬于類的,而不是屬于哪里實例的,就是說這個構造函數只會被執行一次。也就是在創建第一個實例或引用任何靜態成員之前,由.NET自動調用。

復制代碼 代碼如下:

class SimpleClass
{
// Static constructor
static SimpleClass()
{
//
}
}

在使用靜態構造函數的時候應該注意幾點:

1、靜態構造函數既沒有訪問修飾符,也沒有參數。因為是.NET調用的,所以像public和private等修飾符就沒有意義了。

2、是在創建第一個類實例或任何靜態成員被引用時,.NET將自動調用靜態構造函數來初始化類,也就是說我們無法直接調用靜態構造函數,也就無法控制什么時候執行靜態構造函數了。

3、一個類只能有一個靜態構造函數。

4、無參數的構造函數可以與靜態構造函數共存。盡管參數列表相同,但一個屬于類,一個屬于實例,所以不會沖突。

5、最多只運行一次。

6、靜態構造函數不可以被繼承。

7、如果沒有寫靜態構造函數,而類中包含帶有初始值設定的靜態成員,那么編譯器會自動生成默認的靜態構造函數。
 

靜態構造函數趣談!
類的靜態構造函數也叫類型構造器,靜態構造器,他調用的時刻由CLR來控制:

CLR會選擇如下時間之一來調用靜態構造函數:
 1,在類型的第一個實例創建之前,或類型的非繼承字段或成員第一次訪問之前。這里的“之前”,代表前后銜接的意思。這里的時刻是精確的!

 2,在非繼承的靜態字段或成員第一次訪問之前的某個時刻,具體時刻不定!

由于調用的時刻不確定,所以我們最好不要編寫依賴于特定的靜態構造函數的執行順序的代碼,這樣很容易產生不可預料的后果!

下面大家看看以下的Demo,我們來更加深入的看看靜態構造函數的一些有趣的行為:

Demo1:

復制代碼 代碼如下:

static void Main(string[] args)
{
Console.WriteLine(B.strText); 
}
public class A
{
public static string strText;
static A()
{
strText = "aaaa"; 
}
}
public class B : A
{
static B()
{
strText = "bbbb";  
}
}

大家猜猜結果是什么,可能有人認為輸出的是bbbb,因為訪問B.strText需要調用B類的靜態構造函數static B()。實際上輸出的結果是aaaa,因為strText是類A的靜態字段,而類B只是繼承了這個字段,所以這里會調用類A的靜態構造函數static A(),所以輸出結果是aaaa。這也沒有什么真正可說的,相信大家都能看出這個結果的。

下面看看第二個Demo:

Demo2:

復制代碼 代碼如下:

static void Main(string[] args)
{
B b = new B(); 
A a = new A();

Console.WriteLine(B.strText); 

}
public class A
{
public static string strText;
static A()
{
strText = "aaaa";  
}
}
public class B : A
{
static B()
{
strText = "bbbb";  
}
}


大家猜猜輸出結果是什么,可能有人認為會輸出aaaa,理由是new B()之前會調用static B(),然后new A()之前需要調用static A,這樣結果是aaaa,但是實際情況并非如果,正確的結果是bbbb,原因如下:

在執行  new B(); 之前,B類的靜態構造函數會調用,也就是會調用:
static B()
{
 strText="bbbb";
}

當執行到strText=“bbbb"的時候,這時需要訪問strText字段,而B的strText字段是從A類繼承的,所以這里需要會先調用:
static A()
{
 strText="aaaa";
}

執行這個函數以后strText的值是aaaa

然后代碼又回到static B()中,這時才執行static B()中的strText="bbbb"這行,所以strText這時的值是bbbb

當執行A a=new A();的時候,不會在調用A的靜態構造函數了,因為前面已經調用過了,靜態函數在整個應用程序域的生命周期中只會調用一次!

請大家多指教??!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产在线观看不卡| 亚洲最大成人免费视频| 91久久国产综合久久91精品网站| 亚洲欧美激情一区| 国产精品视频网址| 亚洲人成亚洲人成在线观看| 国产精品美女无圣光视频| 久久人人爽人人爽人人片亚洲| 91久久精品在线| 欧美做受高潮1| 黑人精品xxx一区| 色偷偷偷综合中文字幕;dd| 欧美整片在线观看| 97在线免费观看视频| 亚洲第一精品久久忘忧草社区| 欧美视频国产精品| 91九色单男在线观看| 精品国产一区二区三区在线观看| 这里只有视频精品| 国产精品毛片a∨一区二区三区|国| 成人网在线免费看| 亚洲一区二区三区毛片| 久久精品国产欧美亚洲人人爽| 国产91九色视频| 欧美日韩一区二区在线| 精品免费在线观看| 久久国产精品免费视频| 菠萝蜜影院一区二区免费| 欧美黄色片免费观看| 国模吧一区二区三区| 奇米一区二区三区四区久久| 日本久久久久久| 影音先锋欧美精品| 视频在线观看99| 91欧美精品午夜性色福利在线| 欧美国产乱视频| 中文字幕免费精品一区高清| 亚洲美女在线视频| www.日韩不卡电影av| 成人国产精品一区二区| 久久久久成人精品| 国产噜噜噜噜噜久久久久久久久| 亚洲最大激情中文字幕| 在线视频免费一区二区| 亚洲一区二区三区成人在线视频精品| 日韩欧美在线第一页| 日韩在线观看视频免费| 日韩精品中文字幕久久臀| 亚洲欧美中文日韩在线v日本| 欧美性生活大片免费观看网址| 国产精品一区二区久久精品| 欧美激情亚洲一区| 国产精品美乳一区二区免费| 欧美亚洲视频在线观看| 黄色精品在线看| 成人xvideos免费视频| 亚洲午夜激情免费视频| 久久五月天色综合| 日韩精品一区二区视频| 日韩在线视频播放| 亚洲国产高清自拍| 国产精品免费视频xxxx| 亚洲大胆人体av| 亚洲电影免费观看高清完整版| 亚洲最大的成人网| 97色在线视频| 91精品国产91久久久久久吃药| 91久久精品国产| 91探花福利精品国产自产在线| 亚洲视频电影图片偷拍一区| 欧美精品午夜视频| 亚洲第一页在线| 国产精品高清在线观看| 中文字幕免费国产精品| 欧美电影在线观看高清| 国产日韩精品在线观看| 国产精品免费久久久久影院| 亚洲欧美一区二区精品久久久| 日韩有码视频在线| 欧美日韩综合视频网址| 久久视频在线免费观看| 欧美性感美女h网站在线观看免费| 91视频-88av| 6080yy精品一区二区三区| 中文字幕精品久久久久| 91系列在线播放| 亚洲欧洲av一区二区| 日本中文字幕成人| 成人免费淫片aa视频免费| 97香蕉久久超级碰碰高清版| 最近中文字幕2019免费| 亚洲男人的天堂在线| 在线成人激情视频| 亚洲va欧美va在线观看| 精品国产福利视频| 亚洲精品永久免费精品| 欧美野外wwwxxx| 日韩国产高清视频在线| 91久久久久久久久| 亚洲无亚洲人成网站77777| 国产成人精品视频| 国产精品视频区1| 国产欧美 在线欧美| 两个人的视频www国产精品| 国内精品免费午夜毛片| 另类天堂视频在线观看| 91在线视频精品| 亚洲精品美女在线观看| 日日狠狠久久偷偷四色综合免费| 18一19gay欧美视频网站| 亚洲美女激情视频| 午夜精品99久久免费| 久久精品一偷一偷国产| 91九色单男在线观看| 国产一区二区三区在线免费观看| 日韩精品中文字幕视频在线| 色综合男人天堂| 成人有码在线视频| 色视频www在线播放国产成人| 精品中文字幕乱| 亚洲人成欧美中文字幕| 97碰碰碰免费色视频| 日韩精品免费在线视频| 色综合男人天堂| 日韩免费视频在线观看| 精品久久久久久久久久| 啊v视频在线一区二区三区| 97久久久免费福利网址| 91在线网站视频| 亚洲欧洲在线免费| 亚洲精品av在线| 国产亚洲精品激情久久| 欧美激情视频在线免费观看 欧美视频免费一| 日韩美女福利视频| 色噜噜国产精品视频一区二区| 色偷偷av一区二区三区乱| 亚洲永久免费观看| 亚洲精品成人久久久| 成人国产精品久久久久久亚洲| 久久精品国产亚洲一区二区| 日韩在线免费视频| 欧美国产精品va在线观看| 日韩av高清不卡| 国内精品久久久久影院优| 91国产高清在线| 欧美日韩综合视频网址| 一夜七次郎国产精品亚洲| 久久躁狠狠躁夜夜爽| 91精品国产色综合久久不卡98口| 欧美性生交大片免费| 永久免费毛片在线播放不卡| 国产欧美欧洲在线观看| 98精品在线视频| 91av在线播放| 国产噜噜噜噜噜久久久久久久久| 国产日产久久高清欧美一区| 中文字幕成人在线| 国产精品成人播放| 久久成人精品一区二区三区| 亚洲专区中文字幕| 97**国产露脸精品国产| 日韩网站免费观看高清| 亚洲欧美在线一区二区| 亚洲精品少妇网址|