Hello World
Spiga

标签:匿名方法

Why Java Sucks and C# Rocks(5):匿名方法

2010-07-06 06:22 by 老赵, 2553 visits
摘要:确切地说,这里的标题应该是“C#中的匿名方法”,因为这是C#中特有的功能。在之前的文章里,虽然我都用长篇文字加代码示例来说明问题,但总有朋友认为我谈的只是C#和Java的“区别”,算不上优势。不过从这篇文章开始,我们将正式进入C# 2.0的时代,这也是C#大步甩开Java语言的开端——可以看出,Anders Hejlsberg从此开始实现他对于编程语言的各种理想,而并非纠缠于与Java所谓的“竞争”中。例如这篇文章要讨论的“匿名方法”特性,以及随之而来的“函数式编程”痕迹,便开始引领C#在开发理念上的进步。 阅读全文

使用Lambda表达式编写递归函数(性能测试)

2009-09-27 05:23 by 老赵, 10449 visits
摘要:为了补充引用资料,现在对之前Lambda表达式编写递归函数进行一番性能测试。测试的对象为辗转相除法求最大公约数,使用以下三种方式计算:普通递归,使用SelfApplicable及Fix进行计算。从执行时间上看,直接递归的性能最好,Self次之,但相差不大,但Fix方式消耗的时间就为前两者的7倍左右了。从GC压力上看,直接递归与Sel对GC都没有丝毫压力,但Fib由于构建了额外的委托对象,其压力也相对较大。 阅读全文

使用Lambda表达式编写递归函数

2009-08-30 17:40 by 老赵, 7602 visits
摘要:其实这从来不是一个很简单的事情,虽然有些朋友认为这很简单。如果您把委托变量的声明和Lambda表达式分开写为两行,那么其实这已经是一中“伪”递归了。可能已经有朋友知道“标准”的做法是什么样的,不过我这里还想谈一下我当时遇到这个问题时想到的一个做法。比较笨(非常符合我的特点),但是可以解决问题。但是装配脑袋很早给了我们更好的解决方法,希望在以后的某一天,我可以把这部分内容融会贯通地理解下来,并且可以详细地解释给大家听。在这之前,我还是听脑袋的话,把Fix强行记在脑袋里吧。 阅读全文

警惕匿名方法造成的变量共享

2009-03-13 01:03 by 老赵, 24946 visits
摘要:匿名方法是强大的,但是也会造成一些令人难以察觉的陷阱。 阅读全文
1
使用Live Messenger联系我