【技术散分300】一个Linq的小例子

以专业开发人员为伍 2009-07-31 04:55:48
加精
实际上,我读了许多google的mapreduce的文献,曾经尝试开发过并发的多服务器的数据库接口,并且也同时花了足足2天时间开发mapreduce程序(虽然最后只有几十行,但是控制逻辑复杂)。

在使用自己的mapreduce写了几个小程序以后,忽然发现我真的很蠢,原来PLinq早已经提供了更加强大的功能。

这里贴一个小例子,假设在asp.net应用中想打印 ~/app_data/Test_090724_WebUserControl.txt 中的文件的每一个字符的使用频率,就可以这样写:

        var fileNetUrl = this.ResolveUrl("~/app_data/Test_090724_WebUserControl.txt");
var filePhysicalUrl = Server.MapPath(fileNetUrl);
var chars = File.ReadAllLines(filePhysicalUrl).AsParallel().SelectMany(n => n.ToCharArray());
var res = from c in chars group c by c into gc select new { charactor = gc.Key, count = gc.Count() };
res = res.OrderBy(c => c.charactor);
this.GridView1.DataSource = res;
this.GridView1.DataBind();


当然,使用了微软并行库 Parallel Extensions 的2008年6月预览版来开发。

哎,我发现自己很蠢之后,就把这些天写的mapreduce相关的各种程序删除了。有了PLinq,得去在它的高起点上来建立自己的扩展技术,还要舍近求远起自己搞点低级的研究开发吗?
...全文
3834 283 打赏 收藏 转发到动态 举报
写回复
用AI写文章
283 条回复
切换为时间正序
请发表友善的回复…
发表回复
热血大婶 2012-09-25
  • 打赏
  • 举报
回复
我是你的粉丝,多给我点分吧~~
wangshaoweiwei 2012-08-16
  • 打赏
  • 举报
回复
支持了 新学努力
startstartsvip 2012-04-21
  • 打赏
  • 举报
回复
哈哈,收下。。。
永动bug制造机 2011-08-24
  • 打赏
  • 举报
回复
Unicorn_520 2010-11-02
  • 打赏
  • 举报
回复
学习啦 正在学习中
qiaqia 2010-07-21
  • 打赏
  • 举报
回复
支持楼主 接分。
海涵德 2010-07-18
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 sp1234 的回复:]
在Linq的基础上只要加一个 .AsParallel() 就跨进了许多公司赖以生存的新技术领域,这种创意和实力实在是太令人震撼了。
[/Quote]
使用并行方法,性能提高多少?有例子支持吗?为什么只总是贴些关于算法的帖子,实在没有时间细看。
DevinXie 2010-06-24
  • 打赏
  • 举报
回复
没看懂
  • 打赏
  • 举报
回复
学习,接分
mayonglong 2010-05-09
  • 打赏
  • 举报
回复
来晚了~
z392989029 2010-04-29
  • 打赏
  • 举报
回复
学习。顶起
simon_yeh_s 2009-12-30
  • 打赏
  • 举报
回复
每天回帖即可获得10分可用分!小技巧:教您如何更快获得可用分
ai_li7758521 2009-12-23
  • 打赏
  • 举报
回复
学习
net1987 2009-09-08
  • 打赏
  • 举报
回复
up
ximengchang 2009-09-08
  • 打赏
  • 举报
回复
感谢分享
fyl179321 2009-09-08
  • 打赏
  • 举报
回复
up up
风之影子 2009-09-08
  • 打赏
  • 举报
回复
支持,学习
xunis 2009-09-08
  • 打赏
  • 举报
回复
顶下 为什么vb.net总是升级?
mao924 2009-09-07
  • 打赏
  • 举报
回复
接分了
dzpzds 2009-09-07
  • 打赏
  • 举报
回复
ding
加载更多回复(253)

8,497

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧