gpt4 book ai didi

c# - 如何在 Linq 中组合多个相同或不同长度的列表?

转载 作者:太空宇宙 更新时间:2023-11-03 18:33:09 25 4
gpt4 key购买 nike

我想构建一个方法或扩展方法接受多个列表并按以下方式组合它们:

假设我有两个列表:

        int[] list1 =  {3, 1, 2};
int[] list2 = {5, 4 };

我希望结果是这样的数组列表:

[1,4]
[1,5]
[2,4]
[2,5]
[3,4]
[3,5]

我生成的数组列表中的列数将由数量决定传递的列表,并且需要对两列进行排序。行数就是(列表A的长度)*(列表B的长度)*(列表N的长度)

在这个例子中是 3 * 2 = 6 行。 2 列(因为有 2 个输入列表)。

使用 linq 执行此操作的优雅方式是什么?

谢谢!

最佳答案

尝试交叉连接

int[] list1 =  {3, 1, 2};
int[] list2 = {5, 4 };

var result = (from l1 in list1
from l2 in list2
select new [] {l1, l2}).ToList()

关于c# - 如何在 Linq 中组合多个相同或不同长度的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19522233/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com