使用此代码:
public static List<string> GenerateCombinations(char[][] characters){ var combinations = new List<string>(); GenerateCombinations(0, characters, new char[characters.GetLength(0)], combinations); return combinations;}private static void GenerateCombinations(int level, char[][] characters, char[] current, List<string> combinations){ if (level == characters.GetLength(0)) { combinations.Add(new string(current)); return; } foreach (var character in characters[level]) { current[level] = character; GenerateCombinations(level + 1, characters, current, combinations); }}
使用示例:
public static void Main(){ var characters = new[] { new[] { 'a', 'b' }, new[] { 'a', 'b' }, new[] { '1', '2' } }; var combinations = GenerateCombinations(characters); foreach (var combination in combinations) { Console.WriteLine(combination); }}
输出:
aa1aa2ab1ab2ba1ba2bb1bb2
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)