public static void Main() { string[] words = new string[100000]; for (int i = 0; i < 100000; i++) { words[i] = TextWords[RandomGenerator.Next(0, TextWords.Length)]; } var trie = new TrieFilter(); foreach (string word in words) { trie.Add(word); } foreach (var word in wordsToFind) { Console.WriteLine("{0} -> {1}", word, string.Join(", ", trie.Match(word, wordsToFind.Count))); } }