我有 2 个字符串集合 例如:
List<string> one = new List<string>;
one.Add("a");
one.Add("b");
one.Add("c");
List<string> two = new List<string>;
two.Add("x");
two.Add("y");
two.Add("z");
我想做的是创建一个可以由此创建的所有单词变体的列表。 但我只想创建 4 个字符的单词! 例如我想要这样的词
axax (from one[1],two[1],one[1],two[1])
ayax (from one[1],two[2],one[1],two[1])
azax (from one[1],two[3],one[1],two[1])
最终到达
czcz (from one[3],two[3],one[3],two[3])
有关生成此内容的最快和最佳方式的任何建议
最佳答案
我怀疑这个解决方案是否会赢得任何速度奖,但它应该相当快:
var one = new [] { "a", "b", "c" };
var two = new [] { "x", "y", "z" };
var ot = from o in one from t in two select o + t;
var r = from f in ot from s in ot select f + s;
var list = r.ToList();
关于c# - 创建 2 个字符数组的所有单词变体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2674419/