成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C#靜態(tài)變量初始化實(shí)例詳解

開發(fā) 后端
C#靜態(tài)變量初始化的創(chuàng)建是在什么時(shí)候呢?C#靜態(tài)變量初始化的具體是現(xiàn)實(shí)例是什么呢?那么本文就向你詳細(xì)介紹C#靜態(tài)變量初始化的具體事宜。

C#靜態(tài)變量初始化是什么時(shí)候進(jìn)行的呢?我們知道類的靜態(tài)字段變量初始值設(shè)定項(xiàng)對(duì)應(yīng)于一個(gè)賦值序列,這些賦值按照它們?cè)谙嚓P(guān)的類聲明中出現(xiàn)的文本順序執(zhí)行。

對(duì)于C#靜態(tài)變量初始化,那么如果類中存在靜態(tài)構(gòu)造函數(shù)則靜態(tài)字段初始值設(shè)定項(xiàng)的執(zhí)行在該靜態(tài)構(gòu)造函數(shù)即將執(zhí)行前發(fā)生。否則,靜態(tài)字段初始值設(shè)定項(xiàng)在***次使用該類的靜態(tài)字段之前先被執(zhí)行,但實(shí)際執(zhí)行時(shí)間依賴于具體的實(shí)現(xiàn)。在以下示例中:

C#靜態(tài)變量初始化實(shí)例應(yīng)用:

  1. using System;  
  2. class Test   
  3. ...{   
  4. static void Main() ...{  
  5.  Console.WriteLine("{0} {1}", B.Y, A.X);  
  6. }  
  7. public static int F(string s) ...{  
  8.  Console.WriteLine(s);  
  9.  return 1;  
  10. }  
  11. }  
  12. class A  
  13. ...{  
  14. public static int X = Test.F("Init A");  
  15. }  
  16. class B  
  17. ...{  
  18. public static int Y = Test.F("Init B");  

或者產(chǎn)生如下輸出:

  1. Init A  
  2. Init B  
  3. 1 1 

或者產(chǎn)生如下輸出:

  1. Init B  
  2. Init A  
  3. 1 1 

這是因?yàn)?X 的初始值設(shè)定項(xiàng)和 Y 的初始值設(shè)定項(xiàng)的執(zhí)行順序無法預(yù)先確定,上述兩種順序都有可能發(fā)生;***能夠確定的是:它們一定會(huì)在對(duì)那些字段的引用之前發(fā)生。但是,下面的示例:

  1. using System;  
  2. class Test  
  3. ...{  
  4. static void Main() ...{  
  5.  Console.WriteLine("{0} {1}", B.Y, A.X);  
  6. }  
  7. public static int F(string s) ...{  
  8.  Console.WriteLine(s);  
  9.  return 1;  
  10. }  
  11. }  
  12. class A  
  13. ...{  
  14. static A() ...{}  
  15. public static int X = Test.F("Init A");  
  16. }  
  17. class B  
  18. ...{  
  19. static B() ...{}  
  20. public static int Y = Test.F("Init B");  

所產(chǎn)生的輸出必然是:

  1. Init B  
  2. Init A  
  3. 1 1 

這是因?yàn)殛P(guān)于何時(shí)執(zhí)行靜態(tài)構(gòu)造函數(shù)的規(guī)則規(guī)定:B的靜態(tài)構(gòu)造函數(shù)(以及B的靜態(tài)字段初始值設(shè)定項(xiàng))必須在A的靜態(tài)構(gòu)造函數(shù)和字段初始值設(shè)定項(xiàng)之前運(yùn)行。

C#靜態(tài)變量初始化的基本情況就向你介紹到這里,希望對(duì)你了解和學(xué)習(xí)C#靜態(tài)變量初始化有所幫助。

【編輯推薦】

  1. C#線程優(yōu)先級(jí)淺析
  2. C#語(yǔ)言學(xué)習(xí)階段淺析
  3. C#讀取word文檔實(shí)例淺析
  4. C#讀取Word文檔異常處理解析
  5. C#反射靜態(tài)方法開發(fā)實(shí)例詳解
責(zé)任編輯:仲衡 來源: 博客園
相關(guān)推薦

2009-08-31 10:30:29

C#變量初始化

2009-08-31 10:18:00

C#靜態(tài)變量定義C#靜態(tài)變量

2009-09-02 16:52:55

C#數(shù)組初始化

2009-08-27 10:44:21

C#靜態(tài)變量

2009-08-28 11:24:48

C#一維數(shù)組初始化

2009-08-28 11:09:35

C#數(shù)組初始化

2009-08-31 10:38:34

C#變量初始化

2009-09-18 11:15:52

C#數(shù)組初始化

2009-08-31 10:00:07

C#靜態(tài)變量

2009-07-31 17:51:27

C#對(duì)象初始化

2009-08-28 12:47:30

C#靜態(tài)方法應(yīng)用

2009-09-17 16:06:22

C#數(shù)組初始化

2009-08-27 10:31:39

C#對(duì)象初始化器

2009-08-28 11:43:26

C#數(shù)組初始化

2009-08-31 09:41:05

C#反射靜態(tài)方法開發(fā)

2009-09-17 16:17:41

C#參差數(shù)組初始化

2009-08-26 15:28:52

C#對(duì)象集合初始化器

2011-08-10 17:16:01

Objective-C靜態(tài)變量

2011-06-02 14:25:45

靜態(tài)變量

2010-02-01 14:21:24

C++初始化列表
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 日本成人福利视频 | 亚洲在线中文字幕 | 天天操 天天操 | 国产精久久久久久久妇剪断 | 国产极品车模吞精高潮呻吟 | 国产二区av | 国产免费福利小视频 | 在线观看免费福利 | 日韩欧美成人一区二区三区 | 国产精品久久久爽爽爽麻豆色哟哟 | 日韩免费激情视频 | aaa级片 | 日本在线网站 | 国产精品久久国产精品 | 毛片免费看 | 午夜久久久 | 亚洲日日夜夜 | 成人3d动漫一区二区三区91 | 亚洲精品国产成人 | 色桃网 | 国产精品久久国产精品 | 精品免费观看 | 91婷婷韩国欧美一区二区 | 午夜伦理影院 | 中文字幕一区二区三区四区五区 | 国产精品免费av | 99亚洲精品视频 | 欧美精品一区在线发布 | 成人在线激情 | 国产一区二 | 日韩精品一区二区三区久久 | 久久伊人精品一区二区三区 | 午夜三级网站 | 婷婷综合久久 | 欧美国产一区二区三区 | 精品久久久久久久久久 | 韩日在线视频 | 国产小视频精品 | 国产精品久久久久久久久久久新郎 | 超碰人人艹| 国产精品视频在线播放 |