摘要: 在上一篇文章中我们简单探讨了.NET 1.x和.NET 2.0中委托表现形式的变化,以及.NET 2.0中匿名方法的优势、目的及注意事项。那么现在我们来谈一下.NET 3.5(C# 3.0)中,委托的表现形式又演变成了什么样子,还有什么特点和作用。.NET 3.5中委托的写法(Lambda表达式)Lambda表达式在C#中的写法是“arg-list => expr-body”,“=>”符号左边为表达式的参数列表,右边则是表达式体(body)。参数列表可以包含0到多个参数,参数之间使用逗号分割。例如,以下便是一个使用Lambda表达式定义了委托的示例1:Func<int, in 阅读全文
posted @ 2012-02-14 10:03 awp110 阅读(260) 评论(0) 推荐(1) 编辑
摘要: 在上一篇文章中,我们详细讲述了C# 3.0中Lambda表达式(构造委托)的使用方式,它在语义上的优势及对编程的简化——这些内容已经属于委托的“扩展内容”。不如这次谈得更远一些,就来讨论一下上文中“编程方式”的性能相关话题。循环分离及其性能在上文的第一个示例中,我们演示了如何使用Lambda表达式配合.NET 3.5中定义的扩展方法来方便地处理集合中的元素(筛选,转化等等)。不过有朋友可能会提出,那个“普通写法”并非是性能最高的实现方法。方便起见,也为了突出“性能”方面的问题,我们把原来的要求简化一下:将序列中的偶数平方输出为一个列表。按照那种“普通写法”可能就是:static List< 阅读全文
posted @ 2012-02-14 10:03 awp110 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 在《关于最近面试的一点感想》一文中,Michael同学谈到他在面试时询问对方“delegate在.net framework1.1,2.0,3.5各可以怎么写”这个问题。于是乎,有朋友回复道“请问楼主,茴香豆的茴有几种写法”,“当代孔乙己”,独乐,众乐。看了所有的评论,除了某些朋友认为“的确不该不知道这个问题”之外,似乎没有什么人在明确支持楼主。不过我支持,为什么?因为我也提过出这样的问题。这样,我们暂且不提应聘“高级开发人员”的人,在“自称熟悉各版本.NET框架”的前提下,是否应该知道这个答案。我们也暂且不提Michael同学提问的“目的”是什么。老赵就先单独针对这个问题进行解释,然后谈谈自 阅读全文
posted @ 2012-02-14 10:02 awp110 阅读(223) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/inday/category/203168.html http://fluentnhibernate.org/ 阅读全文
posted @ 2012-02-14 09:50 awp110 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 12月份项目比较忙,周末都给占了。今天终于算是比较清闲了。之前因为在DevText项目中使用Fluen NHibernate,顺便就学习了下。今天就结合官方网站的介绍来给大家分享下为什么我们要用Fluent NHibernate。1.Fluent NHibernate是什么?Fluent NHibernate提供了一个方法让你不再需要去写NHibernate的标准映射文件(.hbm.xml),而是可以把你的映射文件都使用C#来写。这样做,方便了我们的代码重构,提供了代码的易读性,并精简了项目代码。它还包含了如下几个工具:Fluent NHibernate是NHibernate核心代码的扩展,完 阅读全文
posted @ 2012-02-14 09:22 awp110 阅读(298) 评论(0) 推荐(1) 编辑
摘要: 本节内容引入NHibernate中的集合类型建立父子关系父子关联映射结语引入通过前几篇文章的介绍,基本上了解了NHibernate,但是在NHibernate中映射关系是NHibernate中的亮点,也是最难掌握的技术。从这篇开始学习这些东西,我将图文结合来说明这里奥秘的知识。前几篇,我们的例子只使用了一个简单的Customer对象。但是在客户/订单/产品的经典组合中,他们的关系非常复杂?让我们先回顾在第二篇中建立的数据模型。在图上,我已经清晰的标注了表之间的关系,首先分析Customer和Order之间的“外键关系”或者称作“父子关系”、“一对多关系”。在分析之前先初步了解NHibernat 阅读全文
posted @ 2012-02-14 08:53 awp110 阅读(248) 评论(0) 推荐(0) 编辑