2007年6月13日
摘要: 说到Lambda表达式,几乎所有人的反应就是Linq,不错,Lambda表达式的最大用途确实是在Linq,Lambda表达式本身也是为Linq量身定做的。 但是Lambda表达式本身只是一个匿名函数的简化版,因此,并不是针对Linq的。换而言之,任何匿名函数可以做的事情,Lambda表达式都可以做。就以Windows Form的程序为例子吧: Code highlighting pr... 阅读全文
posted @ 2007-06-13 20:13 Zhenway 阅读(589) 评论(0) 推荐(0) 编辑
摘要: 字典Dictionary相信大家都用过,但是如果字典的键是一个TKey数组(或者IList),怎么办? 这就是今天要讨论的案例:MultiKeyDictionary 先来看看反例: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--... 阅读全文
posted @ 2007-06-13 17:42 Zhenway 阅读(505) 评论(0) 推荐(0) 编辑
摘要: 在.net里面,反射是一个功能强大的工具,但是,这个强大功能背后却是性能的损失。尤其是频繁的反射,将降低总体性能。 为了程序运行的更快更好,有必要在频繁反射的地方添加必要的缓存,用尽量少的反射,获得必要的灵活性,而又不降低太多性能。 说到性能,先说一下在.net中的性能排列吧,最快的是非虚方法,然后依次是虚方法、接口方法,委托,反射。前面3个的性能几乎可以忽略。委托比一般的方法... 阅读全文
posted @ 2007-06-13 14:45 Zhenway 阅读(758) 评论(3) 推荐(1) 编辑
摘要: SingleTon模式也许是被最广泛应用的模式,但是,最近看到的几个SingleTon不得不让我出一身冷汗。 先来看看标准的反例:C#版 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> public static SomeObje... 阅读全文
posted @ 2007-06-13 12:23 Zhenway 阅读(1111) 评论(9) 推荐(1) 编辑