使用环境:
1、.net 3.5,因为要使用linq(为什么用LINQ,因为小弟算法比较差,不会写算法直接实现.......)
2、求两个list的笛卡尔积,结果为另一个list(别的似乎也可以吧,没实验过)
开始:
个人感觉其实原理很简单,就是使用LINQ来模仿SQL里面的FROM语句来实现对两个集合求笛卡尔积,直接上代码吧
![](https://i-blog.csdnimg.cn/blog_migrate/cdec0645add3fc3c328197dda5c76203.gif)
![ExpandedBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/81178cc93a2a3bb5048d90d76e7ec935.gif)
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
文笔又限,欢迎拍砖
好了,结束 嘿嘿
![](https://i-blog.csdnimg.cn/blog_migrate/7f528529c257caa92924fe14bf167232.jpeg)
作者: Hundre 发表于 2010-09-18 11:32 原文链接
最新新闻:
· 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创始人谈人生偶然性
网站导航:博客园首页 我的园子 新闻 闪存 小组 博问 知识库