属性与对象的销毁

==========================================属性===================================

属性:大家写了这么多年的 public string Name {get;set;}  你真的了解他吗?

说实话,在查阅资料之前,我也说不清楚!!!

上边的这种属性写法属于是自动属性,不能改变的,只能这么写;它的前身是

  string name;//注意,在类中的变量 不写访问修饰符,默认为private;

  public string Name { get { return name} set{ name = value}}

也就是说:这2种写法是一个意思;唯一的区别就是,下边那种 可以 设置过滤条件

示例:

  int age;

  public int Age{

    get{return age}

    set

    {

      if(value<18)

 

        age = 18;

      else 

        age = value;

    }

    }

==========================================对象的销毁===================================

虽然说,在我们c#种,无需考虑对象的销毁,会有 GC自动处理,但是相关原理还是要整明白.

对象在内存中的状态有2种: 

  ①正在引用=> 程序正在使用的对象

  ②游离状态=> 没有引用的对象,已经使用完毕但依然占据空间

那么,状态②就会被检测到,从而被回收,即对象的销毁

我们平时使用过 using 这个关键字,这个就是销毁对象用的;

但是这个关键字只能是 继承了IDispose接口的对象才可以使用,其他的一般对象是没有办法使用的

 

引出 GC回收机制:

 

posted on 2022-07-12 23:06  泰坦尼克号上的活龙虾  阅读(30)  评论(0)    收藏  举报

导航