代码改变世界

浅析什么是C#静态方法

2012-07-05 17:01  CuiWenKe  阅读(279)  评论(0编辑  收藏  举报

原文:http://developer.51cto.com/art/200908/147732.htm

C#静态函数及变量学习总结向你介绍了具体的学习注意事项以及实例说明解析,让你全面的理解和学习C#静态函数及变量的概念。

AD:

学习C#静态方法之前我们首先来看看C#静态函数及变量是什么以及C#静态函数及变量的具体形式及注意事项是什么?那么我们来看看一个经典例子与代码:

(1)用于对静态字段、只读字段等的初始化。              

(2)添加static关键字,不能添加访问修饰符,因为静态构造函数都是私有的。      

(3)类的静态构造函数在给定应用程序域中至多执行一次:只有创建类的实例或者引用类的任何静态成员才激发静态构造函数

(4)静态构造函数是不可继承的,而且不能被直接调用。            

(5)如果类中包含用来开始执行的 Main 方法,则该类的静态构造函数将在调用 Main 方法之前执行。任何带有初始值设定项的静态字段,则在执行该类的静态构造函数时,先要按照文本顺序执行那些初始值设定项。  

(6)如果没有编写静态构造函数,而这时类中包含带有初始值设定的静态字段,那么编译器会自动生成默认的静态构造函数。

以下用例子代码进一步说明:

  1. /**   
  2.  
  3. * 静 态 构 造 函 数 练 习   
  4.  
  5. * (1)①②③……为执行顺序   
  6.  
  7. * (2)输出结果: static A()   
  8.  
  9. * static B()   
  10.  
  11. * X = 1, Y = 2   
  12.  
  13. **/   
  14.  
  15. using System;   
  16.  
  17. class A { public static int X; static A()   
  18.  
  19. //④ 执行完后返回到③ { X = B.Y + 1;   
  20. //Console.WriteLine("static A()"); }   
  21. //} class B { public static int Y = A.X + 1;   
  22.  
  23. //③ 调用了A的静态成员,   
  24.  
  25. // 转到A的静态构造函数----> static B()   
  26.  
  27. //② 如果带有初始值设定项的静态字段,   
  28.  
  29. // 执行该类的静态构造函数时,   
  30.  
  31. // 先要按照文本顺序执行那些初始值设定项。   
  32.  
  33. // 转到初始值设定项----> { Console.WriteLine("static B()"); } static void Main()   
  34.  
  35. //① 程序入口,   
  36.  
  37. // 如果类中包含用来开始执行的 Main 方法,   
  38.  
  39. // 该类的静态构造函数将在调用 Main 方法之前执行。   
  40.  
  41. // 转到B的静态构造函数----> {   
  42. //Console.WriteLine("X = {0}, Y = {1}", A.X, B.Y);  
  43.  
  44. //⑤ 输出结果 Console.ReadLine(); } }  

C#静态函数及变量的相关内容就向你介绍到这里,希望对你了解和学习C#静态函数及变量有所帮助。