欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

class SomeType{
static SomeType(){}
}

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

復制代碼 代碼如下:

class SomeType
{
Static int x = 5;
}


等價于

復制代碼 代碼如下:

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

還有:
復制代碼 代碼如下:

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

等價于
復制代碼 代碼如下:

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

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

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

相關(guān)文章

  • C#_SqlDependency的使用詳解

    C#_SqlDependency的使用詳解

    SqlDependency對象表示應用程序和 SQL Server 實例間的查詢通知依賴關(guān)系,這篇文章主要介紹了C#_SqlDependency的使用,需要的朋友可以參考下
    2023-06-06
  • C#序列化與反序列化(Serialize,Deserialize)實例詳解

    C#序列化與反序列化(Serialize,Deserialize)實例詳解

    這篇文章主要介紹了C#序列化與反序列化(Serialize,Deserialize)的方法,實例分析了C#序列化與反序列化的常見技巧,需要的朋友可以參考下
    2015-06-06
  • c#批量上傳圖片到服務器示例分享

    c#批量上傳圖片到服務器示例分享

    這篇文章主要介紹了c#批量上傳圖片到服務器示例,服務器端需要設(shè)置圖片存儲的虛擬目錄,需要的朋友可以參考下
    2014-03-03
  • C#獲取上個月第一天和最后一天日期的方法

    C#獲取上個月第一天和最后一天日期的方法

    這篇文章主要介紹了C#獲取上個月第一天和最后一天日期的方法,是關(guān)于C#日期函數(shù)的簡單應用,具有一定的實用價值,需要的朋友可以參考下
    2014-11-11
  • WCF如何使用動態(tài)代理精簡代碼架構(gòu)

    WCF如何使用動態(tài)代理精簡代碼架構(gòu)

    這篇文章主要介紹了WCF如何使用動態(tài)代理精簡代碼架構(gòu),幫助大家更好的理解和學習使用c#,感興趣的朋友可以了解下
    2021-03-03
  • C#實現(xiàn)微信公眾號群發(fā)消息(解決一天只能發(fā)一次的限制)實例分享

    C#實現(xiàn)微信公眾號群發(fā)消息(解決一天只能發(fā)一次的限制)實例分享

    經(jīng)過幾天研究網(wǎng)上的代碼和謝燦大神的幫忙,今天終于用C#實現(xiàn)了微信公眾號群發(fā)消息,現(xiàn)在分享一下
    2013-09-09
  • C#排序算法的比較分析

    C#排序算法的比較分析

    這篇文章主要介紹了C#排序算法的比較,實例分析幾種比較常見的算法,并對其時間復雜度與穩(wěn)定性進行了詳細的分析,需要的朋友可以參考下
    2014-11-11
  • C#鍵盤鼠標鉤子實例

    C#鍵盤鼠標鉤子實例

    這篇文章主要介紹了C#鍵盤鼠標鉤子的實現(xiàn)方法,以實例形式分析了針對鍵盤與鼠標鉤子的實現(xiàn)步驟與相關(guān)技巧,并配有相關(guān)官方文檔說明的地址,需要的朋友可以參考下
    2014-12-12
  • c#之OpenFileDialog解讀(打開文件對話框)

    c#之OpenFileDialog解讀(打開文件對話框)

    這篇文章主要介紹了c#之OpenFileDialog(打開文件對話框),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • C#?VB.NET?將Html轉(zhuǎn)為Excel

    C#?VB.NET?將Html轉(zhuǎn)為Excel

    本文介紹通過C#和VB.NET代碼展示將Html轉(zhuǎn)為Excel文檔的方法。文中的示例代碼講解詳細,對我們學習C#有一定幫助,感興趣的小伙伴可以了解一下
    2022-03-03

最新評論