首页 / C# / C#静态构造函数及静态变量学习
C#静态构造函数及静态变量学习
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C#静态构造函数及静态变量学习,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1660字,纯文字阅读大概需要3分钟。
内容图文
静态构造函数:
(1)用于对静态字段、只读字段等的初始化。
(2)添加static关键字,不能添加访问修饰符,因为静态构造函数都是私有的。
(3)类的静态构造函数在给定应用程序域中至多执行一次:只有创建类的实例或者引用类的任何静态成员才激发静态构造函数
(4)静态构造函数是不可继承的,而且不能被直接调用。
(5)如果类中包含用来开始执行的 Main 方法,则该类的静态构造函数将在调用 Main 方法之前执行。
(6)任何带有初始值设定项的静态字段,则在执行该类的静态构造函数时,先要按照文本顺序执行那些初始值设定项。
(7)如果没有编写静态构造函数,而这时类中包含带有初始值设定的静态字段,那么编译器会自动生成默认的静态构造函数。
经典例子:
?1/**************************************************?2*?静?态?构?造?函?数?练?习
?3*?(1)①②③……为执行顺序
?4*?(2)输出结果:?static?A()
?5*?static?B()
?6*?X?=?1,?Y?=?2
?7***************************************************/
?8using?System;
?9class?A
10{
11public?static?int?X;
12
13static?A()?//④?执行完后返回到③
14{
15X?=?B.Y?+?1;
16Console.WriteLine("static?A()");
17}
18}
19
20class?B
21{
22public?static?int?Y?=?A.X?+?1;?//③?调用了A的静态成员,
23//?转到A的静态构造函数---->
24
25static?B()?//②?如果带有初始值设定项的静态字段,
26//?执行该类的静态构造函数时,
27//?先要按照文本顺序执行那些初始值设定项。
28//?转到初始值设定项---->
29{
30Console.WriteLine("static?B()");
31}
32
33static?void?Main()?//①?程序入口,
34//?如果类中包含用来开始执行的?Main?方法,
35//?该类的静态构造函数将在调用?Main?方法之前执行。
36//?转到B的静态构造函数---->
37{
38Console.WriteLine("X?=?{0},?Y?=?{1}",?A.X,?B.Y);//⑤?输出结果
39Console.ReadLine();
40}
41}
转载于:https://www.cnblogs.com/zhangchenliang/archive/2011/06/02/2070057.html
内容总结
以上是互联网集市为您收集整理的C#静态构造函数及静态变量学习全部内容,希望文章能够帮你解决C#静态构造函数及静态变量学习所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。