【发布时间】:2020-06-22 12:45:26
【问题描述】:
假设我有一个这样的数组:
string[] separatingStrings = {"Hello","Hi"};
我想在另一个数组上得到所有这些结果
result[0] = Hi
result[1] = Hello
result[2] = Hi Hello
result[3] = Hello Hi
如您所见,这是 4 个结果。如果我输入三个元素,我总共会得到 15 个结果。
STRING 数组示例:{"11", "22", "33"}
result[0] = 11
result[1] = 22
result[2] = 33
result[3] = 11, 22
result[4] = 11, 33
result[5] = 22, 11
result[6] = 22, 33
result[7] = 33, 11
result[8] = 33, 22
result[9] = 11, 22, 33
result[10] = 11, 33, 22
result[11] = 22, 11, 33
result[12] = 22, 33, 11
And so on... (It's not necessary to have that order, i just want every possible variation (without repeating the same value on the index) on another array)
我自己尝试过,但显然我失败了。我尝试通过互联网搜索,但每个人都在使用 INT 变量或将字符串拆分为字符。
谢谢大家,感谢任何帮助。
【问题讨论】:
-
输入数组可以包含重复值吗?例如,如果输入数组是
11, 11, 11,那么总结果是11-11, 11-11, 11, 11? -
@LasseV.Karlsen 不,不需要重复
-
那么输入数组无效吗?或者你的意思是你只想看到
11作为输出? -
@LasseV.Karlsen 嗯,是的,我只是想让所有这些“组合”在一个字符串中聚集在一起,使用 string.join 并可能用 # 分隔所有内容。 %%% 简短示例:string[] separatorStrings = {"11","22"};必须给我另一个数组的结果,该数组具有以下所有内容:{“11”,“22”,“11 22”,“22 11”} 如果您不明白我的意思,请告诉我,谢谢您的光临和帮助
-
我对帖子进行了一些修改,以便于理解
标签: c# arrays combinations permutation variations