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

C#靜態變量初始化實例詳解

開發 后端
C#靜態變量初始化的創建是在什么時候呢?C#靜態變量初始化的具體是現實例是什么呢?那么本文就向你詳細介紹C#靜態變量初始化的具體事宜。

C#靜態變量初始化是什么時候進行的呢?我們知道類的靜態字段變量初始值設定項對應于一個賦值序列,這些賦值按照它們在相關的類聲明中出現的文本順序執行。

對于C#靜態變量初始化,那么如果類中存在靜態構造函數則靜態字段初始值設定項的執行在該靜態構造函數即將執行前發生。否則,靜態字段初始值設定項在***次使用該類的靜態字段之前先被執行,但實際執行時間依賴于具體的實現。在以下示例中:

C#靜態變量初始化實例應用:

  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");  

或者產生如下輸出:

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

或者產生如下輸出:

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

這是因為 X 的初始值設定項和 Y 的初始值設定項的執行順序無法預先確定,上述兩種順序都有可能發生;***能夠確定的是:它們一定會在對那些字段的引用之前發生。但是,下面的示例:

  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");  

所產生的輸出必然是:

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

這是因為關于何時執行靜態構造函數的規則規定:B的靜態構造函數(以及B的靜態字段初始值設定項)必須在A的靜態構造函數和字段初始值設定項之前運行。

C#靜態變量初始化的基本情況就向你介紹到這里,希望對你了解和學習C#靜態變量初始化有所幫助。

【編輯推薦】

  1. C#線程優先級淺析
  2. C#語言學習階段淺析
  3. C#讀取word文檔實例淺析
  4. C#讀取Word文檔異常處理解析
  5. C#反射靜態方法開發實例詳解
責任編輯:仲衡 來源: 博客園
相關推薦

2009-08-31 10:30:29

C#變量初始化

2009-08-31 10:18:00

C#靜態變量定義C#靜態變量

2009-09-02 16:52:55

C#數組初始化

2009-08-27 10:44:21

C#靜態變量

2009-08-28 11:24:48

C#一維數組初始化

2009-08-28 11:09:35

C#數組初始化

2009-08-31 10:38:34

C#變量初始化

2009-07-31 17:51:27

C#對象初始化

2009-09-18 11:15:52

C#數組初始化

2009-08-31 10:00:07

C#靜態變量

2009-08-28 12:47:30

C#靜態方法應用

2009-08-27 10:31:39

C#對象初始化器

2009-09-17 16:06:22

C#數組初始化

2009-08-28 11:43:26

C#數組初始化

2009-08-31 09:41:05

C#反射靜態方法開發

2009-09-17 16:17:41

C#參差數組初始化

2009-08-26 15:28:52

C#對象集合初始化器

2011-08-10 17:16:01

Objective-C靜態變量

2011-06-02 14:25:45

靜態變量

2010-02-01 14:21:24

C++初始化列表
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲 欧美 日韩 在线 | 婷婷久久综合 | www.色综合| 日韩成人免费av | 国产精品美女一区二区 | 一级黄色播放 | 精品视频一区二区三区在线观看 | 美女黄网 | 亚洲精品一 | www.国产.com | 在线一区二区三区 | 成人亚洲视频 | 精品国产欧美一区二区三区成人 | 97精品国产97久久久久久免费 | 天堂资源| 午夜一区 | 久久久精品 | 91精品国产综合久久久亚洲 | 亚洲人成人一区二区在线观看 | 草比网站 | 欧美日产国产成人免费图片 | 欧美精品在线看 | 美女逼网站 | 亚洲一区二区三区高清 | 亚洲天天干 | 国产在线观看一区二区 | 欧美国产日韩一区二区三区 | 午夜小视频在线播放 | 丁香一区二区 | 91 在线| 国产精品国产精品 | 国产高清在线观看 | 成人h视频在线 | 色综合久久88色综合天天 | 日韩精品一区二区久久 | 在线免费观看成人 | 日韩欧美在线观看视频网站 | av黄色在线观看 | 成人在线免费观看 | 国产高清在线精品一区二区三区 | 国产精品一区二区久久 |