ToB企服应用市场:ToB评测及商务社交产业平台

标题: .Net内存管理释放的两种方式 [打印本页]

作者: 南七星之家    时间: 2024-8-3 13:18
标题: .Net内存管理释放的两种方式
在.Net中,资源回收主要是指内存管理和非托管资源的释放。分别提供了两种主要的方式进行处理:
官网干系文档的链接:https://learn.microsoft.com/zh-cn/dotnet/standard/managed-code
垃圾回收(Garbage Collection)

垃圾回收是.NET运行时自动处理内存管理的一种机制。它负责检测不再被应用步伐利用的对象,并释放这些对象占用的内存
特点:
垃圾回收的局限性:
确定性资源释放

对于非托管资源,.NET提供了确定性的资源释放机制,通常通过IDisposable接口实现。
IDsposable接口:
利用using语句:
实例中,StreamReader实现了IDsposable接口。通过利用using语句,当StreamReader对象超出作用域时,Dispose方法会被自动调用,从而释放文件句柄。
  1. using System;
  2. using System.IO;
  3. class Program
  4. {
  5.     static void Main()
  6.     {
  7.         // 使用 using 语句来自动释放 StreamReader 的资源
  8.         using (StreamReader reader = new StreamReader("example.txt"))
  9.         {
  10.             string line;
  11.             while ((line = reader.ReadLine()) != null)
  12.             {
  13.                 Console.WriteLine(line);
  14.             }
  15.         }
  16.         // 如果没有使用 using 语句,需要手动调用 Dispose
  17.         // StreamReader reader = new StreamReader("example.txt");
  18.         // try
  19.         // {
  20.         //     string line;
  21.         //     while ((line = reader.ReadLine()) != null)
  22.         //     {
  23.         //         Console.WriteLine(line);
  24.         //     }
  25.         // }
  26.         // finally
  27.         // {
  28.         //     reader.Dispose();
  29.         // }
  30.     }
  31. }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4