日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

C# 静态构造函数

發布時間:2023/11/27 生活经验 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C# 静态构造函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
(1)用于對靜態字段、只讀字段等的初始化。       
(2)添加static關鍵字,不能添加訪問修飾符,因為靜態構造函數都是私有的。    
(3)類的靜態構造函數在給定應用程序域中至多執行一次:只有創建類的實例或者引用類的任何靜態成員才激發靜態構造函數
(4)靜態構造函數是不可繼承的,而且不能被直接調用。      
(5)如果類中包含用來開始執行的?Main?方法,則該類的靜態構造函數將在調用?Main?方法之前執行。  
????任何帶有初始值設定項的靜態字段,則在執行該類的靜態構造函數時,先要按照文本順序執行那些初始值設定項。 
(6)如果沒有編寫靜態構造函數,而這時類中包含帶有初始值設定的靜態字段,那么編譯器會自動生成默認的靜態構造函數。

以下用例子代碼進一步說明:
/**************************************************
?*????????????靜?態?構?造?函?數?練?習
?*?(1)①②③……為執行順序
?*?(2)輸出結果:?static?A()
?*?????????????????static?B()
?*?????????????????X?=?1,?Y?=?2
?***************************************************/
using?System;
class?A
{
?public?static?int?X;
?static?A()???????????//④?執行完后返回到③
?{
??X?=?B.Y?+?1;
??Console.WriteLine("static?A()");
?}
}
class?B
{
?public?static?int?Y?=?A.X?+?1;??????//③?調用了A的靜態成員,
?????????????????????????????????????????????????????//???轉到A的靜態構造函數---->
?static?B()???????????//②?如果帶有初始值設定項的靜態字段,
??????????????//???執行該類的靜態構造函數時,
??????????????//???先要按照文本順序執行那些初始值設定項。
??????????????//???轉到初始值設定項---->
?{
??Console.WriteLine("static?B()");
?}
?static?void?Main()?????????//①?程序入口,
??????????????//???如果類中包含用來開始執行的?Main?方法,
??????????????//???該類的靜態構造函數將在調用?Main?方法之前執行。
??????????????//???轉到B的靜態構造函數---->
?{
??Console.WriteLine("X?=?{0},?Y?=?{1}",?A.X,?B.Y);//⑤?輸出結果
??Console.ReadLine();
?}
}??

總結

以上是生活随笔為你收集整理的C# 静态构造函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。