代码改变世界

随笔分类 - 扩展方法

c# 扩展方法奇思妙用性能篇一:扩展方法性能初测

2009-08-15 20:15 by 鹤冲天, 10102 阅读, 收藏, 编辑
摘要:最近写了几篇《c#扩展方法奇思妙用》的文章,一直只是讨论如何扩展、如何使用的问题,几乎没有涉及效率方面。而大家的回复好多都在问效率如何、性能怎样,也引起了我对效率的关注,今天将初步测试的结果发出来,大家一起探讨一下。 这次测试的结果令我倍感意外,确实没想到扩展方法的效率如此之高... 阅读全文

c# 扩展方法奇思妙用基础篇二:string 常用扩展

2009-08-14 21:31 by 鹤冲天, 26720 阅读, 收藏, 编辑
摘要:string是c#里面最最常用的类,和它的使用频度比起来,它的操作确少的可怜,实例方法只有三十个左右,静态方法只有十多个,远远满足不了我们日常的需求。 本文使用扩展方法来增加string的功能,举出几个例子,也算是抛砖引玉吧! 阅读全文

c# 扩展方法奇思妙用变态篇二:封装 if/else、swith/case 及 while

2009-08-13 18:13 by 鹤冲天, 15873 阅读, 收藏, 编辑
摘要:本文探讨如何使用扩展方法封装 if/else、swith/case及while,通过使用这些扩展,写出的代码将使用很少的大括号{ }... 阅读全文

c# 扩展方法奇思妙用高级篇二:Aggregate 扩展及其改进

2009-08-12 20:07 by 鹤冲天, 20520 阅读, 收藏, 编辑
摘要:Enumerable.Aggregate 扩展方法在System.Linq命名空间中... 本文介绍使用Aggregate进行求和、byte数组异或、字符串拼装/逆序输出。并对Aggregate进行改进,实现间隔求和,进一步改进查重极限算法。 阅读全文

c# 扩展方法奇思妙用变态篇一:由 Fibonacci 数列引出 “委托扩展” 及 “递推递归委托”

2009-08-10 09:06 by 鹤冲天, 6670 阅读, 收藏, 编辑
摘要:public static IEnumerable GetSequence(this Func func, int count)... 相信大家见的扩展大多针对类(object, string)、接口(IEnumerable)进行扩展,针对Func(委托)估计对大多数人来说都是第一次。 public static Func Fibonacci = n = Fibonacci(n - 1) + Fibonacci(n - 2);... 与数学通项式对比一下,何其相似!这就是我们的“递推递归委托”! 阅读全文

c# 扩展方法奇思妙用高级篇一:改进 Scottgu 的 "In" 扩展

2009-08-08 10:49 by 鹤冲天, 4992 阅读, 收藏, 编辑
摘要:很多介绍扩展方法的也大都使用"In"作为例子,但很少有人再深入想一步。个人感觉这个In扩展的不够彻底... 使用 params 和 泛型改进了 ScottGu 的 In 扩展,使用调用代码更加简洁,同时也能减少编程中的误输入。 阅读全文

c# 扩展方法奇思妙用

2009-08-07 17:45 by 鹤冲天, 57277 阅读, 收藏, 编辑
摘要: c#扩展方法出来已久,介绍的文章也很多,但都是笼统的。 本人最近一直在思考扩展方法的应用,也悟出了一些。 将这最近一段时间对扩展的思考,写成一个系列文章。 每个文章只介绍一个应用方面,篇幅不会太长。 打算将文章写成三个部分:基础篇、高级篇、变态篇。 阅读全文

c# 扩展方法奇思妙用基础篇一:中文处理

2009-08-07 17:20 by 鹤冲天, 19911 阅读, 收藏, 编辑
摘要:我们在做程序的的时候经常要处理用户输入,作为我们的主要语言中文,经常会出现全角、半角的问题,这会在查询时给我们带来很多麻烦。 本文采用扩展方法解决全半角切换的问题... 阅读全文