public async Task Process(WordsDictionary wordsDictionary) { if (IsCorrect) { return; } results = new ConcurrentBag <WordDistance>(); await Task.Run(() => Parallel.ForEach(wordsDictionary.Dictionaries, GetTopDistances)); SuggestedWords = results.OrderBy(e => e.Distance).Select(e => e.Word).Distinct().Take(HeapCapacity).ToList(); }
public Form1() { InitializeComponent(); tooltipDictionary = new eDictionary(); var tooltip = new RichTextBoxToolTip { RichTextBox = textArea, Dictionary = tooltipDictionary, TitlePrefix = "Alternatywy dla wyrazu \"", TitleSuffix = "\": ", TitleBrush = Brushes.DarkBlue, TitleFont = new Font(textArea.SelectionFont, FontStyle.Bold), DescriptionFont = new Font(textArea.SelectionFont, FontStyle.Regular), DescriptionBrush = Brushes.Blue, }; wordsDictionary = new WordsDictionary(); words = new List <Word>(); }
public Word(string value, WordsDictionary wordsDictionary) { Value = value.ToLower(); IsCorrect = wordsDictionary.Dictionaries.Any(d => d.Contains(Value)); }