为了账号安全,请及时绑定邮箱和手机立即绑定

有没有一个很好的LINQ方式来做笛卡尔积?

有没有一个很好的LINQ方式来做笛卡尔积?

缥缈止盈 2019-08-08 17:04:29
有没有一个很好的LINQ方式来做笛卡尔积?我有这样的类结构:PersonDogs (dog 1, dog 2, etc)Puppies (puppy A, puppy B, etc)有一个人。他有1只狗。每只狗有1只小狗。我想要一份所有可能的小狗组合清单,从每只狗身上带一只小狗。例如:狗1小狗A,狗2小狗狗1小狗A,狗2小狗B狗1小狗B,狗2小狗狗1小狗B,小狗2小狗B如果它是在sql表中,我会做类似以下的事情来“乘以”表:select * from puppies a, puppies b where a.parent='dog1' and b.parent='dog2'是否有一些linq-ish方式来做这种事情???非常感谢
查看完整描述

3 回答

?
千万里不及你

TA贡献1784条经验 获得超9个赞

leftSide.SelectMany((l) => rightSide, (l, r) => new Tuple(l, r));

这应该是笛卡尔积。


查看完整回答
反对 回复 2019-08-08
?
POPMUISE

TA贡献1765条经验 获得超5个赞

如果你想要狗和小狗的所有可能的组合,你会做一个交叉连接:

from dog in Dogsfrom puppy in Puppiesselect new{
    Dog = dog,
    Puppy = puppy}


查看完整回答
反对 回复 2019-08-08
  • 3 回答
  • 0 关注
  • 743 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信