this关键字、索引器、垃圾回收总结

第三周学习总结

       第三周学习了this关键字、索引器、垃圾回收。

       this关键字的相当于指针,通过this关键字可以明确地去访问一个类的属性,解决与局部变量名冲突的问题,通过“this.方法名”的方式可以调用类中自己的成员方法,this访问构造函数方法为“this([参数1.参数2......])”    this关键字作用:this 关键字将引用类的当前实例。静态成员函数没有 this 指针。this 关键字可用于从构造函数、实例方法和实例访问器中访问成员,   注意:在静态方法、静态属性访问器或字段声明的变量初始值设定项中引用 this 是错误的。this用途:1. 最常用的,也就是你提到的:解决可能在实例变量和局部变量之间发生的任何同名的冲突。2.将对象作为参数传递到其他方法 3.声明索引器

        索引器:索引器可以访问多个数据成员,索引器与属性的区别在于属性只能访问单一的字段,而索引器可以访问多个数据成员,其语法格式为:this关键字、索引器、垃圾回收总结_第1张图片

注意:每个索引的签名必须唯一,而且索引器的参数列表是放在方括号而不是放在圆括号中。

    垃圾回收:c#引入了垃圾回收机制,就是当一个对象成为垃圾对象时,c#会自动将它回收,从而使程序获得更多的内存空间,此外,c#能进行自动垃圾回收,还能通过GC.Cllect()方法来通知运行环境进行垃圾回收,关于垃圾回收补充一个问题:C#中,有垃圾自动回收机制,为什么还要有析构函数,析构函数的具体作用是什么?
      C#中的垃圾自动回收机制是针对对象而言的,对象从实例化开始到调用结束才释放,但是有些时候,我们希望调用某个类之后,立即释放使用的资源,因为有可能你调用的类占用了另一个文件资源,但是下一步操作却又需要调用该资源,程序就会报错了,所谓的垃圾回收机制是销毁系统不使用到的资源,存在一个检测过程有一定时间的,所以我们写程序的时候尽量自己手动释放资源。析构函数和构造函数相反,-一个是实例化时候调用,一个是销毁对象之前调用,最常用的方法是将类中调用其他外部资源的释放卸载析构函数中,代码中尽量自己写dipose using close这些方法,而不要等它的回收机制处理。

注意:调用Dispose()不是释放对象的内存资源!调用Dispose()实际上是告诉GC这个对象可以回收了

实际GC回收还有- -系列的操作的,这都是.net内部封装的了

 

 

你可能感兴趣的:(this关键字、索引器、垃圾回收总结)