学习C#构造函数的一点体会

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

长兴ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!

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.   } 

上面类中的两个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.   } 
  14. }

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

假定运行下面代码:

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

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

网站题目:学习C#构造函数的一点体会
文章网址:http://www.shufengxianlan.com/qtweb/news43/277593.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联