.net下纯代码实现求两个集合的笛卡尔积

使用环境:

1、.net 3.5,因为要使用linq(为什么用LINQ,因为小弟算法比较差,不会写算法直接实现.......)

2、求两个list的笛卡尔积,结果为另一个list(别的似乎也可以吧,没实验过)

 

开始:

个人感觉其实原理很简单,就是使用LINQ来模仿SQL里面的FROM语句来实现对两个集合求笛卡尔积,直接上代码吧

 

ExpandedBlockStart.gif 代码
            List < string >  redSource  =   new  List < string >  {  " 01 " " 02 " " 030 "  };
            List
< string >  blueSource  =   new  List < string >  {  " 01 " " 02 " " 030 "  };
            IEnumerable
< string >  result  =  from red  in  redSource from blue  in  blueSource select red  +  blue;
            List
< string >  resultColor  =  result.ToList < string > ();

 这个链接的是两个string,如果链接的两个数据类型属于数字,还可以把“+”号改成相应的运算符

 运行结果如下:

代码虽然简单,不过中间实现的原理确是有点复杂,小弟也是参考了网上的文章,不过如果仅仅是使用的话这应该就已经够了

有兴趣的朋友也可以研究下

http://morganchengmo.spaces.live.com/blog/cns!9950CE918939932E!3822.entry

 

文笔又限,欢迎拍砖

 

好了,结束  嘿嘿

 

 

 

作者: Hundre 发表于 2010-09-18 11:32 原文链接

评论: 2 查看评论 发表评论

最新新闻:
· Debian 6.0“Squeeze”发布(2011-02-06 11:17)
· 传诺基亚将进行管理层重组 多名高管将离职(2011-02-06 11:15)
· 即将举办超级碗的Cowboys体育场在Google Earth里3D化(2011-02-06 11:07)
· Android 3.0 Honeycomb 炫丽蜂巢开机动画(2011-02-06 10:57)
· Google 发布 Contracts for Java 开源项目(2011-02-06 10:47)

编辑推荐:无心插柳:Gmail之父,FriendFeed创始人谈人生偶然性

网站导航:博客园首页  我的园子  新闻  闪存  小组  博问  知识库

转载于:https://my.oschina.net/hundre/blog/12849

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值