Example #1
0
 static void Main()
 {
     var time = new Stopwatch();
     time.Start();
     var search = new WordSearch(File.ReadAllLines("words.txt"));
     time.Stop();
     Console.WriteLine("Initialised {0}", time.Elapsed);
     while (true)
     {
         Console.Write("Input Characters:");
         var chars = Console.ReadLine();
         if (string.IsNullOrEmpty(chars))
         {
             Console.WriteLine("Please provide alphabet letter to contiue");
             continue;
         }
         time.Restart();
         var result = search.Find(chars.ToLowerInvariant());
         time.Stop();
         var words = result.ToArray();
         Console.WriteLine("Found {0} words in {1} ms", words.Length, time.ElapsedMilliseconds);
         var sortedWords = words.OrderByDescending(w => w.Length).Take(10).ToArray();
         if (sortedWords.Length > 0)
         {
             var first = sortedWords.First();
             foreach (var word in sortedWords)
             {
                 Console.WriteLine("{0} ({1})", word.PadRight(first.Length), word.Length);
             }
         }
     }
 }