学习C 学习CAD的方法
创始人
2024-04-29 10:01:30
0

学习C#构造函数的笔记:

C#构造函数大体上分为静态C#构造函数和实例C#构造函数,实例C#构造函数当然就是在实例化类的时候执行,理解起来比较简单,而静态C#构造函数有些特别:
静态C#构造函数只执行一次,在C#中,静态C#构造函数一般在***次调用类的成员之前执行.编写类的静态C#构造函数的一个原因是,类有一些静态字段或属性,需要在***次使用类之前,从外部源中初始化这些静态字段或属性..NET运行库没有确保静态C#构造函数什么时候执行,但至多运行一次   

静态C#构造函数不能带任何参数,没有访问修饰符,其他C#代码从来不调用它 总是由C#运行库调用,所以修饰符没有任何意义,,一个类只能有一个静态C#构造函数,静态C#构造函数只能访问类的静态成员,不能访问实例成员

如果提供了带参数的C#构造函数,编译器不会自动提供默认的C#构造函数,只有在没有定义任何C#构造函数时,编译器才会提供默认的C#构造函数。
静态C#构造函数在加载类时执行,而实例C#构造函数在创建类的实例时执行,所以可以在类中安全共存,即使参数列表相同 

(2)从其他C#构造函数中调用C#构造函数

有时候在一个类中有几个C#构造函数,以容纳某些可选参数,这些C#构造函数包含了一些公同代码,例:

  1. class car    
  2. ...{   
  3.    private string description;   
  4.    private unit wheels;   
  5.    public Car(string model,unit nWheels)   
  6.    ...{   
  7.       this.desciption=description;    
  8.       this.nWheels=nWheels;   
  9.    }   
  10.   public car(string model)   
  11.   ...{   
  12.       this.description=description;   
  13.       this.nWheels=4;   
  14.   }   
  15. }  

上面类中的两个C#构造函数初始化了相同的字段,C#有一个特殊的语法把上面的所有代码都方到一起,称C#构造函数初始化器可以实现:

  1. class car    
  2. ...{   
  3.    private string description;   
  4.    private unit wheels;   
  5.    public Car(string model,unit nWheels)   
  6.  ...{   
  7.       this.desciption=description;    
  8.       this.nWheels=nWheels;   
  9.    }   
  10.   public car(string model) :this(model,4)   
  11.  ...{   
  12.        
  13.   }   

上面的this关键字仅仅调用参数最匹配的那个C#构造函数,这里要注意:构造初始化器在C#构造函数之前执行!!!

假定运行下面代码:

  1. Car myCar=new Car(\"Proton Persona\");   

学习C#构造函数的一点体会就向你介绍到这里,希望对你学习C#构造函数有所帮助。

【编辑推荐】

  1. C#指针使用简析
  2. C#结构学习的详细介绍
  3. 关于C#结构的一些认识
  4. C#构造函数与C++的区别浅析
  5. C#构造函数的运用浅析

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...