代码改变世界

随笔分类 - c#

c# 扩展方法奇思妙用基础篇八:Distinct 扩展

2011-08-01 20:57 by 鹤冲天, 20890 阅读, 收藏, 编辑
摘要:刚看了篇文章 《Linq的Distinct太不给力了》,文中解决办法,略显复杂。使用本文的扩展方法可写成如下优雅的方式:var p1 = products.Distinct(p => p.ID) 阅读全文

使用 ADO.NET 开发 数据库无关 的 应用程序

2011-07-20 22:06 by 鹤冲天, 3773 阅读, 收藏, 编辑
摘要:开发数据库无关的应用程序有很多种方式,本文介绍最基础的一种... 阅读全文

.NET 求和的效率

2011-07-14 13:32 by 鹤冲天, 4090 阅读, 收藏, 编辑
摘要:对 .NET 中各种求和的方式进行效率比较... 对一般开发影响不太,对效率要求不高的朋友可无视本文... 阅读全文

.NET 4:并行求和不爽

2011-07-13 20:02 by 鹤冲天, 5588 阅读, 收藏, 编辑
摘要:如题,使用 .NET 4 中的并行求和,效率不理想。文中给出一简单的并行求和方法... 阅读全文

当 dynamic 遇上 internal

2011-06-29 07:53 by 鹤冲天, 3118 阅读, 收藏, 编辑
摘要:dynamic 免去了反射调用的繁琐和不雅,带来了极大便利。但面对其他程序集中的 internal 类型时 dynamic 表现又如何呢... 阅读全文

借助 委托 精简代码

2011-06-23 20:47 by 鹤冲天, 5974 阅读, 收藏, 编辑
摘要:相信大多朋友和我一样,每天写代码就会用到 String.Format 这个方法。太经常用,感觉敲起键盘了不是太利索,于是把它精简成一个字母 F,以后代码可以这样写了:var s = F("今天是 {0}", DateTime.Now)。 阅读全文

借助 Clay 编写 不可思议 的 c# 代码

2011-02-22 21:42 by 鹤冲天, 18210 阅读, 收藏, 编辑
摘要:如题,借助于 Clay 项目,我们可以编写出不可思议的 c# 代码,各种方式的对象初始化和属性赋值,简单动态创建集合,动态接口实现...本文将会令你大为惊叹:原来c#也可以这样写!! 阅读全文

c# 扩展方法奇思妙用基础篇七:IsBetween 通用扩展

2011-02-18 21:09 by 鹤冲天, 6254 阅读, 收藏, 编辑
摘要:写个扩展容易,但写一个通用的扩展可不简单,试看本文借如何优雅的完成通用的 IsBetween 扩展... 阅读全文

c# 扩展方法奇思妙用基础篇 六:WhereIf 扩展

2011-02-17 19:24 by 鹤冲天, 14018 阅读, 收藏, 编辑
摘要:创建并使用 WhereIf 扩展方法简化代码... 阅读全文

c# 扩展方法奇思妙用 ASP.NET MVC 篇:巧用扩展方法优先级,美化所有页面 TextBoxFor 文本框

2010-04-17 21:12 by 鹤冲天, 12811 阅读, 收藏, 编辑
摘要:巧妙使用扩展方法的优先级,美化你网站(ASP.NET MVC)页面的TextBoxFor文本框;配合js脚本,还能限制用户录入。而且你甚至不需要修改任何一个前台页面... 阅读全文

《NHibernate One Session Per Request 简单实现》勘误

2010-02-02 22:08 by 鹤冲天, 5085 阅读, 收藏, 编辑
摘要:使用 NHibernate 进行 Web 开发的朋友大多都知道 Session-Per-Request 模式,但网上真正能够正确使用的例子不多,网上包括园子里好多文章犯了同一个错误,而这个错误确一直在散播... 阅读全文

构建 WinForm 通用速选(全选、反选、清空)组件

2009-11-29 22:48 by 鹤冲天, 6755 阅读, 收藏, 编辑
摘要:用户界面中,需要用户进行多项选择时,我们通常会提供一组快速选择按钮:全选、反选、清空,以方便用户操作。本文章将会构建一个通用速选组件来简化操作,使用之后,您不需要编写任何代码,只需设置两个属性便可让一个控件拥有速选的功能... 阅读全文

c#操作Office 警告:方法和非方法之间存在二义性

2009-11-13 22:17 by 鹤冲天, 5326 阅读, 收藏, 编辑
摘要:最近做Office方面的开发工作,操作Word时发出一处二义性的警告... 阅读全文

一个 有歧义 的 lambda 表达式

2009-11-11 21:22 by 鹤冲天, 2589 阅读, 收藏, 编辑
摘要:今天发现了一句有歧义的labmbda表达式,发出来供大家“把玩”... 阅读全文

c#扩展方法奇思妙用高级篇七:“树”通用遍历器

2009-11-09 22:06 by 鹤冲天, 6893 阅读, 收藏, 编辑
摘要:“树”的遍历是一个通用算法,本文给出“树”遍历的通用扩展方法... 阅读全文

c# 扩展方法奇思妙用高级篇六:WinForm 控件选择器

2009-11-08 21:17 by 鹤冲天, 9381 阅读, 收藏, 编辑
摘要:在Web开发中,jQuery提供了功能异常强大的$选择器来帮助我们获取页面上的对象。但在WinForm中,.Net似乎没有这样一个使用起来比较方便的选择器。好在我们有扩展方法,可以很方便的打造一个。 阅读全文

.Net 相等性:集合类 Contains 方法 深入详解

2009-09-05 17:39 by 鹤冲天, 11401 阅读, 收藏, 编辑
摘要:.Net中表式相等的方法很多,和相等的接口也很多... 而.Net中的集合类普遍都有Contains方法,Contains与这些相等方法、相等接口之间关系如何呢?本文将.Net掘地三尺,一步步分析,篇幅较长,请耐心品味... 阅读全文

.Net 相等性的测试题目,看你基础牢不牢

2009-09-04 20:01 by 鹤冲天, 3614 阅读, 收藏, 编辑
摘要:非常基础的.Net试题,确很难回答。高手也未必能回答正确... 阅读全文

反驳 老赵 之 “伪”递归

2009-08-31 21:34 by 鹤冲天, 4951 阅读, 收藏, 编辑
摘要:今天看了老赵的随笔《使用Lambda表达式编写递归函数》,老赵给其中两行代码下了“伪递归”的定论,我非常不满,今写文反驳之... 阅读全文

c# 扩展方法奇思妙用高级篇四:对扩展进行分组管理

2009-08-29 23:49 by 鹤冲天, 6143 阅读, 收藏, 编辑
摘要:从系列文章开篇到现在,已经实现的很多扩展了,但过多的扩展会给我们带来很多麻烦... 本文给出了三种解决方法... 阅读全文