最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c# 類型構(gòu)造器

 更新時(shí)間:2012年10月29日 13:46:42   作者:  
CLR還支持類型構(gòu)造器,也稱為靜態(tài)構(gòu)造器。c#類型構(gòu)造器可應(yīng)用引用類型和值類型,永遠(yuǎn)沒有參數(shù)
主要作用是:設(shè)置類型中靜態(tài)字段的初始化。類型構(gòu)造器不一定要在類中定義,但是最多也只能有一個(gè)。例:
復(fù)制代碼 代碼如下:

class SomeType{
static SomeType(){}
}

jit編譯器在編譯一個(gè)方法時(shí),會(huì)查看代碼引用哪些類型。任何類型定義了類型構(gòu)造器,jit編譯器都會(huì)檢查當(dāng)前AppDomain是否已經(jīng)執(zhí)行了這個(gè)類型構(gòu)造器,如果沒有就執(zhí)行,已經(jīng)執(zhí)行了就直接返回,不再次執(zhí)行。在多線程的環(huán)境下,可能同一時(shí)間有多個(gè)執(zhí)行相同的方法,CLR希望每一個(gè)AppDomain中一個(gè)類型構(gòu)造器只執(zhí)行一次,在調(diào)用類型構(gòu)造器時(shí),使用互斥線程同步鎖,解決這個(gè)問題。
類型構(gòu)造器中只能訪問類型的靜態(tài)字段,一般只是初始化這些字段。
代碼內(nèi)聯(lián)初始化字段:

復(fù)制代碼 代碼如下:

class SomeType
{
Static int x = 5;
}


等價(jià)于

復(fù)制代碼 代碼如下:

class SomeType
{
Static int x;
Static SomeType()
{
x = 5;
}
}

還有:
復(fù)制代碼 代碼如下:

class SomeType
{
Static int x = 3;
Static SomeType()
{
x = 5;
}
}

等價(jià)于
復(fù)制代碼 代碼如下:

class SomeType
{
Static int x;
Static SomeType()
{
x = 3;
x = 5;
}
}

雖然c#不允許值類型為它的實(shí)例化字段使用內(nèi)聯(lián)初始化語法,但是靜態(tài)字段可以的,以上把class改成struct一樣可以運(yùn)行,

主要原因是:值類型可以定義無參類型構(gòu)造器,但是不可以定義無參類型實(shí)例構(gòu)造器。

相關(guān)文章

  • C#編程自學(xué)之運(yùn)算符和表達(dá)式

    C#編程自學(xué)之運(yùn)算符和表達(dá)式

    這篇文章主要介紹了C#運(yùn)算符和表達(dá)式,這是自學(xué)C#編程的第五篇,希望對(duì)大家的學(xué)習(xí)有所幫助。
    2015-10-10
  • .Net?Core以windows服務(wù)方式部署

    .Net?Core以windows服務(wù)方式部署

    這篇文章介紹了.Net?Core以windows服務(wù)方式部署,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01
  • C# 多線程并發(fā)編程基礎(chǔ)小結(jié)

    C# 多線程并發(fā)編程基礎(chǔ)小結(jié)

    本文主要介紹了C# 多線程并發(fā)編程基礎(chǔ)小結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-04-04
  • C#使用XmlDocument或XDocument創(chuàng)建xml文件

    C#使用XmlDocument或XDocument創(chuàng)建xml文件

    這篇文章主要為大家詳細(xì)介紹了C#使用XmlDocument或XDocument創(chuàng)建xml文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • 如何在Unity中檢測(cè)死循環(huán)和卡死

    如何在Unity中檢測(cè)死循環(huán)和卡死

    這篇文章主要介紹了在Unity中檢測(cè)死循環(huán)和卡死的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • C#實(shí)現(xiàn)異步發(fā)送郵件的方法

    C#實(shí)現(xiàn)異步發(fā)送郵件的方法

    這篇文章主要介紹了C#實(shí)現(xiàn)異步發(fā)送郵件的方法,涉及C#異步操作與郵件發(fā)送的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • 在WPF中動(dòng)態(tài)加載XAML中的控件實(shí)例代碼

    在WPF中動(dòng)態(tài)加載XAML中的控件實(shí)例代碼

    這篇文章主要介紹了在WPF中動(dòng)態(tài)加載XAML中的控件,實(shí)例分析了WPF中針對(duì)XAML中控件的動(dòng)態(tài)調(diào)用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2016-07-07
  • C#約瑟夫問題解決方法

    C#約瑟夫問題解決方法

    這篇文章主要介紹了C#約瑟夫問題解決方法,較為詳細(xì)的分析了約瑟夫問題及C#解決技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-04-04
  • C#根據(jù)excel數(shù)據(jù)繪制坐標(biāo)圖的方法

    C#根據(jù)excel數(shù)據(jù)繪制坐標(biāo)圖的方法

    這篇文章主要為大家詳細(xì)介紹了C#根據(jù)excel數(shù)據(jù)繪制坐標(biāo)圖的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Winform窗體如何改變語言類型

    Winform窗體如何改變語言類型

    這篇文章主要介紹了Winform窗體如何改變語言類型,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
    2020-11-11

最新評(píng)論

汤原县| 阿拉善盟| 长治县| 阳江市| 祁东县| 榆社县| 星座| 崇义县| 手游| 临汾市| 咸阳市| 迁安市| 永善县| 东丽区| 临清市| 嘉黎县| 镇坪县| 承德市| 潜山县| 连城县| 集贤县| 凉山| 墨竹工卡县| 视频| 新余市| 正定县| 沙洋县| 平塘县| 贵南县| 都昌县| 开平市| 尼木县| 旬邑县| 西和县| 衢州市| 内江市| 邻水| 印江| 镇原县| 灵寿县| 鄂伦春自治旗|