public string[] FindSuggestions(string word) { var distanceOneSuggestions = EditWordUptoDistanceOne(word.ToLower()); var distanceTwoSuggestions = new List <string>(); var finalSuggestions = new List <string>(); foreach (var suggested in distanceOneSuggestions) { distanceTwoSuggestions.AddRange(EditWordUptoDistanceOne(suggested)); if (_vocabulary.Search(suggested) && !finalSuggestions.Contains(suggested)) { finalSuggestions.Add(suggested); } } foreach (var suggested in distanceTwoSuggestions) { if (_vocabulary.Search(suggested) && !finalSuggestions.Contains(suggested)) { finalSuggestions.Add(suggested); } } return(finalSuggestions.ToArray()); }
public bool IsSpellingCorrect(string word) { return(_vocabulary.Search(word)); }