using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace WinKeyRecover { internal class GeneratePattern { private readonly List generatedPatterns = new List(); public List Generate(char[] patternChars, int patternLength, string patternBase = "") { if (patternLength == 1) { for (int i = 0; i < patternChars.Length; i++) { generatedPatterns.Add(patternBase + patternChars[i]); } } else { for (int i = 0; i < patternChars.Length; i++) { string patternNew = patternBase + patternChars[i]; _ = Generate(patternChars, patternLength - 1, patternNew); } } return generatedPatterns; } } }