国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C# 的析構以及垃圾回收實例分析

2020-01-24 00:36:09
字體:
來源:轉載
供稿:網友

C# 的析構以及垃圾回收實例分析

看書時,自己寫的例子代碼,了解到幾個知識點,記載下來。同時發現自己手寫代碼的能力比較弱,還是得多寫一下。

using System;namespace ConsoleApplication{  public class Program  {    public static void Main(string[] args)    {      Console.WriteLine("Hello World!");      fun();      GC.Collect();                //4、若不顯式回收,則控制臺不打印回收行。      Console.WriteLine("end!");    }    public static void fun(){            //1、此處必須有static      A a=new A();      a.Dispose();      //GC.Collect();               //3、此處回收無效,因為a還沒釋放    }    public class A:IDisposable{     /* protected override void Finalize(){     //2、析構實際是重載Finalize,但不能直接寫重載。編譯器自動重寫Finalize,所以代碼中,只能用 析構函數。             Console.WriteLine("some one disposed!");      }*/       ~A(){         Console.WriteLine("some one Finalize!");      }      public void Dispose(){         Console.WriteLine("some one disposed!");      }    }  }}

1、該代碼的輸出為:

Hello World!                                         some one disposed!                                       end!                                              some one Finalize! 

這個回收像極了異步調用!

2、IDisposable接口的Dispose方法,目的是“不用戶不再使用對象時,要手工調用它”
比如文件打開,數據庫訪問等。需要及時釋放。

明顯這個概念和垃圾回收是兩個概念。釋放后,該對象仍然存在,有待運行環境來回收,見最后一行。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鹿泉市| 凯里市| 上蔡县| 贞丰县| 翁牛特旗| 莎车县| 民权县| 成安县| 六枝特区| 汉寿县| 镇宁| 抚宁县| 嘉定区| 河源市| 广安市| 怀化市| 纳雍县| 长寿区| 内江市| 睢宁县| SHOW| 章丘市| 清河县| 台山市| 旬邑县| 新泰市| 三门县| 柏乡县| 闻喜县| 前郭尔| 安平县| 庆元县| 固阳县| 诸城市| 象州县| 张家川| 综艺| 毕节市| 富锦市| 隆安县| 丹棱县|