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}";
            }
        }
示例#2
0
 public override void Explore(string text)
 {
     Parallel.ForEach(text, c =>
     {
         lock (Frequency)
         {
             if (!Frequency.ContainsKey(c))
             {
                 Frequency.Add(c, 0);
             }
         }
         Frequency[c]++;
     });
 }
示例#3
0
        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]++;
            });
        }