跟小D每日学口语
摘要: 早晨看到TerryLee的文章《.NET开源项目介绍及资源推荐:日志记录》,其中说到NLog这个同样开源且非常不错的日志记录工具却没什么中文资料。在TerryLee介绍前,我也不知道NLog这个东西,于是就随便尝试了一下。简单使用了一下之后,觉得NLog真的非常不错。如此漂亮的类库却没有中文资料,似乎有些可惜,于是尝试联系其作者Jaroslaw Kowalski请求翻译NLog网站中的一部分内容。没想到Jaroslaw Kowalski很快给我回了信表示同意,更巧的是居然我们还是同事!文章目录交流之后,我决定先从NLog网站的介绍文档开始,逐步翻译并介绍NLog的使用方法,直至最终推出NLog 阅读全文
posted @ 2012-03-04 15:39 Danny Chen 阅读(548) 评论(0) 推荐(0) 编辑
摘要: 要选择正确的集合,我们首先要了解一些数据结构的知识。所谓数据结构,就是相互之间存在一种或多种特定关系的数据元素的集合。结合下图,我们看一下对集合的分类。集合分类在上图中,可以看到,集合总体上分为线性集合和非线性集合。线性集合指元素具有唯一的前驱和后驱的数据结构类型。非线性集合是指具有多个前驱或后驱的数据结构类型,如:树、图。在FCL中,非线性集合实现的比较少,所以我们将会更多的讨论线性集合。注意:由于类型安全、转型效率等方面的原因,本建议将只讨论泛型集合。线性集合按存储方式,又分为直接存储和顺序存储。所谓直接存储是指:该类型的集合数据元素可以直接通过下标(也即index)来访问,在C#中有三种 阅读全文
posted @ 2012-03-04 15:31 Danny Chen 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 需要明确一下C#程序(或者说.NET)中的资源。简单的说来,C#中的每一个类型都代表一种资源,而资源又分为两类:托管资源:由CLR管理分配和释放的资源,即由CLR里new出来的对象;非托管资源:不受CLR管理的对象,windows内核对象,如文件、数据库连接、套接字、COM对象等;毫无例外地,如果我们的类型使用到了非托管资源,或者需要显式释放的托管资源,那么,就需要让类型继承接口IDisposable。这相当于是告诉调用者,该类型是需要显式释放资源的,你需要调用我的Dispose方法。不过,这一切并不这么简单,一个标准的继承了IDisposable接口的类型应该像下面这样去实现。这种实现我们称 阅读全文
posted @ 2012-03-04 13:51 Danny Chen 阅读(382) 评论(0) 推荐(0) 编辑