Spiga

自己动手重新实现LINQ to Objects: 9 - SelectMany

2011-12-15 23:28 by 崔鹏飞, 1002 visits, 网摘, 收藏, 编辑
摘要:本文翻译自JonSkeet的系列博文“Edulinq”。本篇原文地址:http://msmvps.com/blogs/jon_skeet/archive/2010/12/27/reimplementing-linq-to-objects-part-9-selectmany.aspx我们接下来要实现的这个操作符是LINQ中最重要的操作符。大多数(或者是全部?)其他的返回一个序列的操作符都可以通过调用SelectMany来实现,这是后话按下不表。现在我们首先来实现它吧。SelectMany是什么?SelectMany有四个重载,看起来一个比一个吓人:publicstaticIEnumerable& 阅读全文

自己动手重新实现LINQ to Objects: 8 - Concat

2011-09-14 22:39 by 崔鹏飞, 1000 visits, 网摘, 收藏, 编辑
摘要:本文翻译自JonSkeet的系列博文“Edulinq”。本篇原文地址:http://msmvps.com/blogs/jon_skeet/archive/2010/12/27/reimplementing-linq-to-objects-part-8-concat.aspx上文讲的Count和LongCount返回的是数值类型,本文我们讲的Concat返回的是一个序列。Concat是什么?Concat只有一种签名形式,这让它使用起来很简单:publicstaticIEnumerable<TSource>Concat<TSource>(thisIEnumerable< 阅读全文

自己动手重新实现LINQ to Objects: 7 - Count和LongCount

2011-09-02 08:01 by 崔鹏飞, 969 visits, 网摘, 收藏, 编辑
摘要:本文翻译自JonSkeet的系列博文“Edulinq”。本篇原文地址:http://msmvps.com/blogs/jon_skeet/archive/2010/12/26/reimplementing-linq-to-objects-part-7-count-and-longcount.aspx今天的文章要介绍两个LINQ操作符,因为它们实在是太类似了,所以放到一起来讲。Count和LongCount的实现非常相像,不同的只是方法名,返回值类型和几个变量。Count和LongCount是什么呢?Count和LongCount各自有两个重载:一个重载接受谓词,另一个不接受。下面是这四个方法的 阅读全文

浅析延迟执行--实现,优点,陷阱以及题外话

2011-08-31 16:02 by 崔鹏飞, 1557 visits, 网摘, 收藏, 编辑
摘要:上周五在公司内部做了一个小型的sharing,讨论了一些与延迟执行有关的东西。现在把ppt和代码分享出来。如有谬误,请不吝指教 :) 阅读全文

自己动手重新实现LINQ to Objects: 6 - Repeat

2011-08-24 22:15 by 崔鹏飞, 1056 visits, 网摘, 收藏, 编辑
摘要:本文翻译自JonSkeet的系列博文“Edulinq”。本篇原文地址:http://msmvps.com/blogs/jon_skeet/archive/2010/12/24/reimplementing-linq-to-objects-part-6-repeat.aspx本文的主题是个无关紧要的方法,Repeat。关于Repeat,值得讨论的内容比Empty还要少。写这篇博文只是为了保证这个系列的完整性。Repeat是什么?Repeat是一个静态的泛型方法,不是扩展方法,它只有一个签名形式:publicstaticIEnumerable<TResult>Repeat<TRe 阅读全文

自己动手重新实现LINQ to Objects: 5 - Empty

2011-08-23 23:23 by 崔鹏飞, 1019 visits, 网摘, 收藏, 编辑
摘要:本文翻译自JonSkeet的系列博文“Edulinq”。本篇原文地址:http://msmvps.com/blogs/jon_skeet/archive/2010/12/24/reimplementing-linq-to-objects-part-5-empty.aspx这一篇继续讲非扩展方法。这次我们要讲的是Empty,它有可能是最简单的LINQ操作符了。Empty是什么?Empty是一个泛型的,静态的方法,它只有一个签名形式,不接受任何参数:publicstaticIEnumerable<TResult>Empty<TResult>()它返回一个特定类型的空序列。这 阅读全文

自己动手重新实现LINQ to Objects: 4 - Range

2011-08-22 22:07 by 崔鹏飞, 1060 visits, 网摘, 收藏, 编辑
摘要:本文翻译自JonSkeet的系列博文“Edulinq”。本篇原文地址:http://msmvps.com/blogs/jon_skeet/archive/2010/12/24/reimplementing-linq-to-objects-part-4-range.aspx本篇博文较短,接下来的几篇估计也会比较短。我觉得只有很相似的几个LINQ操作符才适合放到同一篇博文里面,比如Count和LongCount就比较适合放在一起讲。不过我也要采纳读者的意见,如果你喜欢“肥胖”一点的博文的话,请留言说明。本文将要讲解Range操作符。Range操作符是什么?Range只有一种方法签名:publics 阅读全文

自己动手重新实现LINQ to Objects: 3 - Select

2011-08-21 23:22 by 崔鹏飞, 1005 visits, 网摘, 收藏, 编辑
摘要:本文翻译自JonSkeet的系列博文“Edulinq”。本篇原文地址:http://msmvps.com/blogs/jon_skeet/archive/2010/12/23/reimplementing-linq-to-objects-part-3-quot-select-quot-and-a-rename.aspx距离上次写完本系列博文的第一篇和第二篇已经有一段日子了,希望接下来的进度会快一些。现在我给本项目在GoogleCode上建立了源码管理,现在就无需每篇博文包含一个zip文件了。创建项目时,我给它取了个显而易见的名字,叫做Edulinq。我修改了代码中的命名空间,而且现在这一系列博 阅读全文

自己动手重新实现LINQ to Objects: 2 - Where

2011-08-21 00:08 by 崔鹏飞, 622 visits, 网摘, 收藏, 编辑
摘要:我们将要实现“Where”子句(也可以说是方法或操作符)。Where在总体上来说比较容易理解,但是涉及到延迟执行和流式处理的部分会有些麻烦。Where方法是泛型的,不过只有一个类型参数(在我看来这很重要,因为我觉得一个方法的泛型参数越多就越令人难以理解)。哦,对了,我们将在本文开始涉及查询表达式,这算是本文的一点额外猛料。 阅读全文

自己动手重新实现LINQ to Objects: 1 - 引言

2011-08-19 01:57 by 崔鹏飞, 1593 visits, 网摘, 收藏, 编辑
摘要:本文翻译自Jon Skeet的系列博文“Edulinq”。本篇原文地址:http://msmvps.com/blogs/jon_skeet/archive/2010/09/03/reimplementing-linq-to-objects-part-1-introduction.aspx大约一年半之前,我在DDD的活动日上做了一次演讲。我当时试图去重新实现LINQ to Objects,在一小时内能实现多少算多少。根据会后的反馈信息来看,我当时做得太快了...而且我还是远远没有实现完整。不过无论如何我还是觉得重新实现LINQ to Objects是一个很有趣的练习,所以我觉得我应该用且行且博、 阅读全文

[译]WP7 Tip: 禁用Pivot控件的切换手势

2011-07-06 13:19 by 崔鹏飞, 1179 visits, 网摘, 收藏, 编辑
摘要:原文地址:http://www.imaginativeuniversal.com/blog/post/2010/12/09/WP7-Tip-disabling-the-Pivot-Control-swipe-gesture.aspx 原文作者:James Ashley 在WP7社区中一个经常被问到的问题就是:在Pivot中放置了可以接受滑动手势的控件(比如说一个Slider)时,如何禁用Pivot... 阅读全文

美国生活第二个月照片(2):毁灭公爵刺杀肯尼迪

2011-06-25 15:08 by 崔鹏飞, 2549 visits, 网摘, 收藏, 编辑
摘要:恰好赶上这个月的十一号GearBox要在Duke Nukem北美发售之前搞一个Community Day,就在达拉斯。作为一个八流的FPS爱好者一定要去凑凑热闹。去往达拉斯的路上,透过车窗随便拍了一张到达现场,室内很暗。摆了一些GearBox出品的其他游戏的海报。这次来点干货,丢大爷的玉照我才知道Borderland也是GearBox出的,进门之后有一个人偶应该是一个侏儒在里面会场里面人头攒动虽说是以Duke Nukem为主角,但是最先介绍了一个未发布的新游戏,过程中禁止照相和摄像,只拍到一张这个哥们一直在会场里转悠,大热天的,不容易,再给你个镜头下面这张是游戏体验室里面进门之后的一个牌子。内 阅读全文

美国生活第二个月照片(1):飙摩托,二造红河谷;乘火车,初访沃斯堡

2011-06-22 12:00 by 崔鹏飞, 2925 visits, 网摘, 收藏, 编辑
摘要:再访红河谷紧接着上次去红河谷骑越野车的一周之后,再次造访此地,体验肾上腺素的急剧分泌。这是刚进门的地方,很多人都是开着汽车,挂着拖车,载着摩托车来的骑过了一大片坑坑洼洼的泥水地,前面就是红河,德克萨斯州和俄克拉荷马州的交界之处。前面转弯后完全是豁然开朗的景象。一半流水一半沙,满目葱绿满目花。(其实是没有花儿的,只是为了凑个韵脚)中途搁浅之后暂停休息把车弄出来之后满鞋的泥水初乘列车坐了一次美国的观光火车,完全不给力,要是碰见中国的春运他们肯定应付不了。两个多小时的车程,中途停车检修一个多小时。这是火车站所在地,葡萄藤镇 站在一个不知是做什么用的台子上留个影站台火车到了下了火车就是一个观光点,下面 阅读全文

美国生活第一个月见闻,有图有真相(3)

2011-06-02 22:05 by 崔鹏飞, 3359 visits, 网摘, 收藏, 编辑
摘要:我只带了手机,下面的照片是同事用相机照的。这是邻居家的前门这是我们住的后院这是小区里的某户大房子,车库都带三开门儿的人工喷泉后面这家真爽这是小区里面的路,路旁很绿接下来这家才是真的夸张,我一开始都觉得这不是住人用的这个是我所在地的市政厅的大门口下面是装好了车准备去骑越野摩托了下面这张,请忽视右侧打酱油的楼主,左边是装在车上的摩托车和四轮车去往河谷的路很长,两边基本都是这么绿路旁还有一些风力发电机终于到了地方了,装备整齐,上车准备开起走先来个稳步前进再来个龟速过坡用力扭转方向盘屁股后面一溜烟同志们好,同志们辛苦了勇过泥水沟再次勇过泥水沟最后整的满鞋满裤腿都是泥,翻身下车中间那些不太清晰的照片是从 阅读全文

美国生活第一个月见闻,有图有真相(2)

2011-06-01 22:25 by 崔鹏飞, 3501 visits, 网摘, 收藏, 编辑
摘要:书接上回,这是公司楼下湖里的一条鳄鱼,到了中午鳄鱼头上还趴着一只晒暖儿的老龟 鳄鱼只是雕塑,从侧面比较容易看出来 中午去吃饭的时候经常走的一条小路,旁边有初生的小兔子 另外还有一些其他的鸟类,见人不跑 这是某天下雨之后的云 从另外一个角度看起来似乎没有那么红了 市政大厅(city hall是这么翻译吧?)门口的雕塑 另外一个雕塑,讲的是这个地方刚通铁路的时候当地群众喜气洋洋迎接四化成果的场景 看了一场球赛,当地的达拉斯对阵新英格兰 我不懂足球,但是我觉得两个队水平都不咋样当地的一个滑冰场 小学生在训练 滑冰场旁边的一个体育用品商店,摆着卖的子弹 同样也是摆在柜台上的枪支 买了一本书 是Tina 阅读全文