摘要: WCF 4.0 进阶系列 -- 随笔汇总 阅读全文
posted @ 2011-08-22 22:42 On the road.... 阅读(2166) 评论(6) 推荐(4) 编辑
摘要: 有些对象需要显示地销毁代码来释放资源,比如打开的文件资源,锁,操作系统句柄和非托管对象。在.NET中,这就是所谓的对象销毁,它通过IDisposal接口来实现。不再使用的对象所占用的内存管理,必须在某个时候回收;这个被称为无用单元收集的功能由CLR执行。 对象销毁和垃圾回收的区别在于:对象销毁通常是... 阅读全文
posted @ 2014-07-02 20:00 On the road.... 阅读(65779) 评论(4) 推荐(8) 编辑
摘要: 在前面的文章C#相等性比较和C#排序比较中,我已经叙述了类型相等,类型哈希,和类型比较的.NET标准协议。实现了这些协议的类型在一个字典或者列表中也可以正常工作。但是需要注意的是: 只有当类型的Equals方法和GetHashCode方法返回有意义的结果时,该类型才可以作为Dictionary或H... 阅读全文
posted @ 2014-07-02 19:58 On the road.... 阅读(1502) 评论(0) 推荐(0) 编辑
摘要: 本文总结了各种Dictionary的内部实现,优缺点,以及使用时的注意事项 阅读全文
posted @ 2014-04-25 10:03 On the road.... 阅读(32866) 评论(2) 推荐(5) 编辑
摘要: 前面章节所讨论的集合都可以直接实例化,因此我们可以非常方便的使用这些集合类。但是如果你试图向集合添加或移除元素时添加控制时,它们就不适用了。对于强类型集合,在某些情况下,你需要添加这样的控制 阅读全文
posted @ 2014-04-25 10:03 On the road.... 阅读(3769) 评论(0) 推荐(0) 编辑
摘要: List和ArrayList Generic的List和非Generic的ArrayList类支持可变化大小的对象数组,它们也是最常见的集合类。ArrayList实现了IList接口,而List实现了IList和IList接口(以及新增的IReadonlyList)。与数组不同,所有的接口实现都是公开的,并且Add和Remove方法也对外公开;它们会按照你的希望执行。 在List和ArrayLis... 阅读全文
posted @ 2014-03-21 14:28 On the road.... 阅读(11387) 评论(0) 推荐(0) 编辑
摘要: 虽然列举接口提供了一个协议,用于向前的方式遍历集合,但它们没有提供一种机制来确定集合的大小,通过索引访问集合的成员,搜索集合,或修改集合。为了实现这些功能,.NET Framework定义了ICollection,IList和IDictionary接口。每个接口都有Generic的接口和非Generic的接口,请注意非Generic多数用于支持遗留代码。 阅读全文
posted @ 2014-03-18 13:13 On the road.... 阅读(23442) 评论(3) 推荐(2) 编辑
摘要: Array类是所有一维和多维数组的隐式基类,同时也是实现标准集合接口的最基本的类型。Array类实现了类型统一,因此它为所有数组提供了一组通用的方法,不论这些数组元素的类型,这些通用的方法均适用。由于Array是所有集合的基础,因为我们详细介绍了如何初始化数组、数组的内存分配情况、如何遍历数组、如何搜索数组、以及数组排序和数组反转的细节、最后涉及了数组的复制/克隆、以及数组转换和更改数组大小的内容。希望本文能让你了解数组的基本用法及底层细节。 阅读全文
posted @ 2014-03-18 09:29 On the road.... 阅读(12010) 评论(0) 推荐(0) 编辑
摘要: 在计算机这个范畴内存在许多种类的集合,从简单的数据结构比如数组、链表,到复杂的数据结构比如红黑树,哈希表。尽管这些数据结构的内部实现和外部特征大相径庭,但是遍历集合的内容确是一个共同的需求。.NET Framework通过IEnumerable和IEnumerator接口实现遍历集合功能。 Non-Generic Generic 备注 IEnumerator IEnumerator I... 阅读全文
posted @ 2014-03-14 11:26 On the road.... 阅读(5693) 评论(2) 推荐(2) 编辑
摘要: 与C#定义了相等性比较规范一样,C#也定义了排序比较规范,以确定一个对象与另一个对象的先后顺序。排序规范如下:1)IComparable接口(包括IComparable接口和IComparable接口);2)和运算符. 当需要实现排序算法时,实现Comparable接口,然后通过该接口实现类完成排序 阅读全文
posted @ 2014-03-12 15:35 On the road.... 阅读(11077) 评论(0) 推荐(0) 编辑
摘要: IEnuramble Extension Methods 阅读全文
posted @ 2014-03-07 16:50 On the road.... 阅读(557) 评论(0) 推荐(0) 编辑
摘要: 本文阐述C#中相等性比较,其中主要集中在下面两个方面:1) ==和!=运算符,什么时候它们可以用于相等性比较,什么时候它们不适用,如果不使用,那么它们的替代方式是什么?2)什么时候,需要自定一个类型的相等性比较逻辑 3)于相等行比较相关的接口IEquatable,IEqualityComparer,以及IEqualityComparer,这些接口的差别,已经使用的场景 阅读全文
posted @ 2014-03-07 15:41 On the road.... 阅读(14760) 评论(3) 推荐(9) 编辑
摘要: IEnumerable,IEnumerator 阅读全文
posted @ 2014-02-26 16:20 On the road.... 阅读(609) 评论(2) 推荐(0) 编辑
摘要: 保存对象到数据库之前,对比内存对象和数据库值的差异 阅读全文
posted @ 2014-02-21 17:36 On the road.... 阅读(736) 评论(0) 推荐(0) 编辑
摘要: 使用Func实现按需转换对象为JSON字符串 阅读全文
posted @ 2014-02-21 16:56 On the road.... 阅读(1514) 评论(0) 推荐(0) 编辑
摘要: 如何区分const和static readonly 阅读全文
posted @ 2014-02-19 17:10 On the road.... 阅读(4568) 评论(0) 推荐(0) 编辑
摘要: 阐述值类型和引用类型的基本概念,并举一个容易理解的例子来加深概念的理解 阅读全文
posted @ 2014-02-19 10:07 On the road.... 阅读(1186) 评论(0) 推荐(0) 编辑
摘要: Func, Action, Delegate Class, delegate 阅读全文
posted @ 2014-02-18 17:29 On the road.... 阅读(811) 评论(0) 推荐(0) 编辑
摘要: Razor是微软在MVC3中引入的视图引擎的名字,在MVC4中对其进行了改进(尽管改动非常小)。视图引擎处理ASP.NET内容、寻找指令,典型地用于插入动态数据并输出到浏览器中。微软维持了两个视图引擎——ASPX视图引擎工作与标签,ASP.NET已经依赖它多年;RAZOR引擎工作与@字符后的内容块上。 阅读全文
posted @ 2013-08-26 17:29 On the road.... 阅读(5882) 评论(6) 推荐(2) 编辑
摘要: 介绍每个MVC程序员"武器库"的三个重要工具:依赖注入容器、单元测试框架和mock工具 阅读全文
posted @ 2013-08-22 15:20 On the road.... 阅读(2136) 评论(1) 推荐(0) 编辑
摘要: C#语言有很多特性,并不是所有的程序员都了解本书我们将会使用的C#语言特性。因此,在本章,我们将了解一下作为一个好的MVC程序员需要了解C#语言的特性。 阅读全文
posted @ 2013-08-20 10:52 On the road.... 阅读(1274) 评论(0) 推荐(2) 编辑