有没有更有效的方法来找到多个数组的笛卡尔积?

时间:2019-10-23 19:15:37

标签: c# arrays linq cartesian-product

我正在组合一组长度不相等的相对较大的双精度数组(现在大约80个),以接收保存在这些数组中的参数的可能组合。结果保存到一个列表中,我将在其余代码中使用该列表。 在开始组合之前,我已经知道数组的数量。

现在,我像下面的代码所示(为大量数组添加更多行)来完成此操作,虽然不好,但对我来说还行。 但是,有没有一种“更好”的方式来做到这一点?我发现如果增加参数数量,它将收集很多垃圾。

在这种情况下,我不知道要合并的数组的数量,这是行不通的,而且我找不到解决方法。

非常感谢您的帮助。

var combination =
    from first in s1
    from second in s2
    from third in s3
       ...
    from nth in sn
    select new[] {first, second, third, ...., nth};

0 个答案:

没有答案