public void Handler(string pathFile) { try{ string text = File.ReadAllText(pathFile); string directoryOut = Path.GetDirectoryName(pathFile); string[] words = text.Split(' '); foreach (string word in words) { string uniqueWord = GetUniqueWord(word); if (!NotWords.Contains(uniqueWord)) { if (Frequency.ContainsKey(uniqueWord)) { Frequency[uniqueWord] = Frequency[uniqueWord] + 1; } else { Frequency.Add(uniqueWord, 1); } } } GeneretFile(directoryOut); } catch (Exception exception) { Error = $"Erro durante o processamento: {exception.Message}"; } }
public override void Explore(string text) { Parallel.ForEach(text, c => { lock (Frequency) { if (!Frequency.ContainsKey(c)) { Frequency.Add(c, 0); } } Frequency[c]++; }); }
public override void Explore(string text) { Frequency.Clear(); if (text.Length == 0) { return; } Parallel.For(0, text.Length - 1, (i, loopStale) => { var key = text.Substring(i, 2); lock (Frequency) { if (!Frequency.ContainsKey(key)) { Frequency.Add(key, 0); } } Frequency[key]++; }); }