WeakReference(弱引用)

using System;
namespace WeakRefrenceStudy
{
    /// <summary>
    /// Main class.
    /// </summary>
    class MainClass
    {
        //弱引用可以让您保持对对象的引用,同时允许GC在必要时释放对象,回收内存。
        //对于那些创建便宜但耗费大量内存的对象,即希望保持该对象,又要在应用程序需要时使用,同时希望GC必要时回收时,可以考虑使用弱引用。
        public static void Main (string[] args)
        {
            object obj = new object();
            WeakReference wref = new WeakReference( obj );
            obj = null;
            //GC.SuppressFinalize (obj);
            //System.Threading.Thread.Sleep (10000);
            Object obj2 = wref.Target;
            if( obj2 != null )
            {
                Console.WriteLine ("还没有被回收");
                // 做你想做的事吧。
            }
            else
            {
                Console.WriteLine ("已经被回收了");
                // 对象已经被回收,如果要用必须新建一个。
            }
            Object obj3 = new Object();
            Object obj4 = new Object();
            WeakReference wref1 = new WeakReference( obj3, false );
            WeakReference wref2 = new WeakReference( obj4, true );
            Console.ReadKey (true);
        }
    }
}


知识共享许可协议
《WeakReference(弱引用)》常伟华 创作。
采用 知识共享 署名-相同方式共享 3.0 中国大陆 许可协议进行许可。
相邻依据:发表时间
  • 多说评论
  • 签名
  • 新浪微博
  • 默认评论
  • Tab Header 5

0 条评论 / 点击此处发表评论

Tab Content 5

开发技术


开发平台和工具

sitemap     158.69ms