原文:《Effective C#》读书笔记——条目15:使用using和try/finally清理资源<.NET资源管理>

在.NET环境中,非托管系统资源由开发人员来负责释放,且非托管系统资源必须显式的使用IDisposable接口的Dispose 来释放 详见:了解.NET内存管理机制 。所有封装或使用了非托管资源的类型都实现了IDisposable接口。同时这些类也在终结器中调用Dispose ,保证了开发人员在忘记资源释放的时候仍然能够正常的释放掉资源 对象资源会一直停留在内存中,直到终结器被调用 ,这会导致 ...

2012-11-26 08:52 7 2257 推荐指数:

查看详情

Effective C#读书笔记——条目17:实现标准的销毁模式<.NET资源管理>

  如何为我们自己的包含非托管资源的类型编写资源管理代码呢?在 .NET 中为我们提供了一种标准的销毁非托管资源的模式,这个标准的模式能够使使用者通过调用IDisposable接口正常释放掉非托管资源,也能够保证使用者在忘记释放资源使用终结器释放。这个标准模式可以和GC配合,保证仅在最糟 ...

Fri Nov 30 17:33:00 CST 2012 7 1634
Effective C#读书笔记——条目12:推荐使用成员初始化器而不是赋值语句<.NET资源管理>

  一般情况下,一个类都会有多个构造函数。随着时间的推移,成员变量、构造函数不断增加。为了处理这种情况最方便的办法就是:在声明变量的时候进行初始化,而不是在每个构造函数中进行。无论是类成员(静态变量)合适实例变量,我们都应该充分利用初始化器的语法。   C#编程在,一般在声明一个变量 ...

Wed Nov 07 05:59:00 CST 2012 3 2640
Effective C#读书笔记——了解.NET内存管理机制<.NET资源管理>

  我们知道C#是一门虚拟机语言,在C#编译器首先将C#代码编译成IL代码,运行程序时CLR(Common Language Runtime,公共语言运行时)通过调用JIT(just-in-time Compiler,即时编译器)来将IL代动态即时编译成可执行的机器码。在CLR中有一个非常重要 ...

Mon Oct 22 19:09:00 CST 2012 20 3582
Effective C#读书笔记——条目13:正确地初始化静态成员变量<.NET资源管理>

  我们知道在C#语言中创建一个类型的实例前,就应该初始化该类型的所有静态成员变量。C#语言为我们提供了静态初始化器和静态构造函数。其中,静态构造函数是一个特殊的构造函数,将在其他所有方法执行前以及变量或属性被第一次访问之前将自动调用静态构造函数,且仅执行一次。我们可以通过使用静态构造函数来初始化 ...

Fri Nov 16 01:17:00 CST 2012 7 3729
Effective C#读书笔记——条目8:推荐使用查询语法而不是循环<C#语言习惯>

  查询语法(query syntax)可以让程序逻辑的表达由“命令式”转换为“声明式”。查询语法定义了想要的结果,而把具体实现交给其他的专门实现。使用查询语法(实现了查询表达式模式的方法语法也可以)要比传统的命令式循环结果更加清晰的表达你的意图。   下面我们观察一个使用命令式方法填充一个 ...

Sun Sep 02 05:19:00 CST 2012 10 2344
Effective C#读书笔记——条目10:使用可选参数减少方法重载的数量<C#语言习惯>

  C#4.0 引入了具名参数(MSDN翻译为“命名实参”,个人认为具名参数更形象,可选参数亦是)和可选参数(可选实参)。客户端代码使用具名参数意味着:方法中的参数名称也成为了公有接口的一部分。假如修改公有参数的名称将有可能破坏调用者的代码。这意味着:调用者应该尽可能的避免使用具名参数 ...

Mon Oct 08 05:54:00 CST 2012 2 2628
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM