摘要:
今天看了老赵的随笔《使用Lambda表达式编写递归函数》,老赵给其中两行代码下了“伪递归”的定论,我非常不满,今写文反驳之... 阅读全文
随笔档案-2009年08月
c# 扩展方法奇思妙用高级篇四:对扩展进行分组管理
2009-08-29 23:49 by 鹤冲天, 6804 阅读, 收藏, 编辑
摘要:
从系列文章开篇到现在,已经实现的很多扩展了,但过多的扩展会给我们带来很多麻烦...
本文给出了三种解决方法... 阅读全文
瑞士军刀 VS 单一职责原则
2009-08-28 19:07 by 鹤冲天, 3865 阅读, 收藏, 编辑
摘要:
“单一职责原则”是面向对象软件开发的基本原则之一,面向对象的思想又是从现实世界中总结出来。可最近发现面向对象的单一职责原则与现实好似有些冲突... 阅读全文
c# 扩展方法奇思妙用变态篇四:string 的翻身革命
2009-08-26 20:27 by 鹤冲天, 8682 阅读, 收藏, 编辑
摘要:
string是各种编程语言中最基础的数据类型,长期以来受尽其它类的压迫...
而现在string要“翻身闹革命”了,它几乎无所不能,可以为所欲为,令其它类心惊胆颤... 阅读全文
c#扩展方法奇思妙用变态篇三:switch/case组扩展
2009-08-18 20:32 by 鹤冲天, 13793 阅读, 收藏, 编辑
摘要:
变态篇二中给出了对if/else、swith/case及while 的扩展,其中举了一个Swith扩展的应用...
今天突然有了新想法,对Switch扩展进行了改进。所谓“语不惊人死不休”,且看这次的改进如何... 阅读全文
c# 扩展方法奇思妙用高级篇三:Enumerable.Cast<T> 应用
2009-08-17 21:10 by 鹤冲天, 21392 阅读, 收藏, 编辑
摘要:
Enumerable.Cast用于将IEnumerable转换为泛型版本IEnumerable。转换后可尽情享用Enumerable的其它方法...
但MSDN中仅给出一个转换ArrayList的例子,很多人看了感觉用处不多,其实不然... 阅读全文
c# 扩展方法奇思妙用性能篇一:扩展方法性能初测
2009-08-15 20:15 by 鹤冲天, 10857 阅读, 收藏, 编辑
摘要:
最近写了几篇《c#扩展方法奇思妙用》的文章,一直只是讨论如何扩展、如何使用的问题,几乎没有涉及效率方面。而大家的回复好多都在问效率如何、性能怎样,也引起了我对效率的关注,今天将初步测试的结果发出来,大家一起探讨一下。
这次测试的结果令我倍感意外,确实没想到扩展方法的效率如此之高... 阅读全文
c# 扩展方法奇思妙用基础篇二:string 常用扩展
2009-08-14 21:31 by 鹤冲天, 28083 阅读, 收藏, 编辑
摘要:
string是c#里面最最常用的类,和它的使用频度比起来,它的操作确少的可怜,实例方法只有三十个左右,静态方法只有十多个,远远满足不了我们日常的需求。
本文使用扩展方法来增加string的功能,举出几个例子,也算是抛砖引玉吧! 阅读全文
c# 扩展方法奇思妙用变态篇二:封装 if/else、swith/case 及 while
2009-08-13 18:13 by 鹤冲天, 16662 阅读, 收藏, 编辑
摘要:
本文探讨如何使用扩展方法封装 if/else、swith/case及while,通过使用这些扩展,写出的代码将使用很少的大括号{ }... 阅读全文
一位程序员的幽默
2009-08-13 12:36 by 鹤冲天, 1366 阅读, 收藏, 编辑
摘要:
本人有个妹妹,亲妹妹,从事影视制作。以下是发生在我们生活中真实的故事,供大家一笑... 阅读全文
c# 扩展方法奇思妙用高级篇二:Aggregate 扩展及其改进
2009-08-12 20:07 by 鹤冲天, 22983 阅读, 收藏, 编辑
摘要:
Enumerable.Aggregate 扩展方法在System.Linq命名空间中...
本文介绍使用Aggregate进行求和、byte数组异或、字符串拼装/逆序输出。并对Aggregate进行改进,实现间隔求和,进一步改进查重极限算法。 阅读全文
c# 扩展方法奇思妙用变态篇一:由 Fibonacci 数列引出 “委托扩展” 及 “递推递归委托”
2009-08-10 09:06 by 鹤冲天, 7011 阅读, 收藏, 编辑
摘要:
public static IEnumerable GetSequence(this Func func, int count)...
相信大家见的扩展大多针对类(object, string)、接口(IEnumerable)进行扩展,针对Func(委托)估计对大多数人来说都是第一次。
public static Func Fibonacci = n = Fibonacci(n - 1) + Fibonacci(n - 2);...
与数学通项式对比一下,何其相似!这就是我们的“递推递归委托”! 阅读全文
使用“初中知识”实现查找重复最优算法 + 最终极限算法
2009-08-08 16:39 by 鹤冲天, 3050 阅读, 收藏, 编辑
摘要:
初中知识解决以下问题:
1-n放在含有n+1个元素的数组中,只有唯一的一个元素值重复,其它均只出现一次。每个数组元素只能访问一次,设计一个算法,将它找出来;不用辅助存储空间,能否设计一个算法实现?(n可能为奇数)
文章最后还给出了一个极限算法! 阅读全文
[幽默]今天看了几页c语言入门,想写个ERP, 帮我看看 技术上还差些什么?
2009-08-08 12:03 by 鹤冲天, 694 阅读, 收藏, 编辑
摘要:
最近看了篇帖子,很搞笑,有人发贴求助:今天我在公交车上捡到一个鼠标垫! 想配个电脑!! 各位高人帮我看看 还差些什么? 点击查看原帖俺也来来园子里求助。本人系列文章《c#扩展方法奇思妙用》,敬请关注! 阅读全文
c# 扩展方法奇思妙用高级篇一:改进 Scottgu 的 "In" 扩展
2009-08-08 10:49 by 鹤冲天, 5318 阅读, 收藏, 编辑
摘要:
很多介绍扩展方法的也大都使用"In"作为例子,但很少有人再深入想一步。个人感觉这个In扩展的不够彻底...
使用 params 和 泛型改进了 ScottGu 的 In 扩展,使用调用代码更加简洁,同时也能减少编程中的误输入。 阅读全文
c# 扩展方法奇思妙用
2009-08-07 17:45 by 鹤冲天, 59382 阅读, 收藏, 编辑
摘要:
c#扩展方法出来已久,介绍的文章也很多,但都是笼统的。
本人最近一直在思考扩展方法的应用,也悟出了一些。
将这最近一段时间对扩展的思考,写成一个系列文章。
每个文章只介绍一个应用方面,篇幅不会太长。
打算将文章写成三个部分:基础篇、高级篇、变态篇。 阅读全文

c# 扩展方法奇思妙用基础篇一:中文处理
2009-08-07 17:20 by 鹤冲天, 20521 阅读, 收藏, 编辑
摘要:
我们在做程序的的时候经常要处理用户输入,作为我们的主要语言中文,经常会出现全角、半角的问题,这会在查询时给我们带来很多麻烦。
本文采用扩展方法解决全半角切换的问题... 阅读全文
超精简C#程序代码改进-利用扩展方法简化代码增强可读性
2009-08-06 22:17 by 鹤冲天, 3573 阅读, 收藏, 编辑
摘要:
今天在园子里面发现一篇文章超精简C#程序代码,看了之后很是震撼,花了好长时间基本看明白了。随后又有了一些新的想法。
最近一直在思考扩展方法的应用,与这篇文章中的想法一接合,可将代码进一步精简,并可增强可读性。
代码仅用了三个分号... 阅读全文