Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何组合来自多个阵列的元素?_C# - Fatal编程技术网

C# 如何组合来自多个阵列的元素?

C# 如何组合来自多个阵列的元素?,c#,C#,我不确定这个操作是如何调用的,所以我没能用谷歌搜索它 我有一个多个一维数组,希望构造一个包含每个数组中所有可能的值组合的数组。例如,如果我有3个数组: ["a", "b"], ["z", "x"], ["1", "2"] 我想得到一个结果: [["a", "z", "1"], ["a", "z", "2"], ["a", "x", "1"], ["a", "x", "2"], ["b", "z", "1"], ["b", "z", "2"], ["b", "x", "1"],

我不确定这个操作是如何调用的,所以我没能用谷歌搜索它

我有一个多个一维数组,希望构造一个包含每个数组中所有可能的值组合的数组。例如,如果我有3个数组:

["a", "b"], ["z", "x"], ["1", "2"]
我想得到一个结果:

[["a", "z", "1"], 
 ["a", "z", "2"],
 ["a", "x", "1"],
 ["a", "x", "2"],
 ["b", "z", "1"], 
 ["b", "z", "2"],
 ["b", "x", "1"],
 ["b", "x", "2"]]

我能想到的唯一方法是创建一个递归函数,它将为每个调用从1个数组中选择一个元素。但这对我来说似乎太复杂了。可能有更简单的解决方案或内置函数?

可能重复我不明白您链接的问题与我的问题有何关联您想从这些数组生成排列。该链接提供了一个如何做到这一点的答案。您的案例更具体一些,但根据您的需要进行调整应该不会太困难。我喜欢递归解决方案。它们通常是最简单的方法,生成的代码易于理解和维护。我不知道为什么世界上的事物是复杂的。从大学计算机科学201课开始,我写递归解已经40年了。可能是重复的。我不明白你链接的问题与我的问题有什么关系。你想从这些数组中生成置换。该链接提供了一个如何做到这一点的答案。您的案例更具体一些,但根据您的需要进行调整应该不会太困难。我喜欢递归解决方案。它们通常是最简单的方法,生成的代码易于理解和维护。我不知道为什么世界上的事物是复杂的。自从大学计算机科学201班以来,我已经写了40年递归解了。