Пример #1
0
        private void ReadCurrentPageConcordance(StreamReader file)
        {
            StringBuilder currentPage = new StringBuilder();

            for (int i = 0; i < LinesInPage; i++)
            {
                currentPage.Append(file.ReadLine() + " ");
                if (file.EndOfStream)
                {
                    break;
                }
            }
            PageConcordance.Clear();
            foreach (Match m in new Regex(@"\w+").Matches(currentPage.ToString()))
            {
                PageConcordance.Add(new Element()
                {
                    Word             = m.Value.ToLower(),
                    ThePageFrequency = 1
                });
            }
            if (PageConcordance.Count > 0)
            {
                PageNum++;
                UnitePageConcordanceDuplicates();
                SortPageConcordance();
            }
        }
Пример #2
0
        private void ReadCurrentPageConcordance(StreamReader file)
        {
            StringBuilder currentPage = new StringBuilder();

            for (int i = 0; i < LinesInPage; i++)
            {
                currentPage.Append(file.ReadLine() + " ");
                if (file.EndOfStream)
                {
                    break;
                }
            }
            PageConcordance.Clear();
            foreach (Word w in new Sentence(currentPage.ToString()).Words)
            {
                if (!w.ToStringWithoutPunctuators().Equals(""))
                {
                    PageConcordance.Add(new Element()
                    {
                        Word             = w.ToStringWithoutPunctuators().ToLower(),
                        ThePageFrequency = 1
                    });
                }
            }
            if (PageConcordance.Count > 0)
            {
                PageNum++;
                UnitePageConcordanceDuplicates();
                SortPageConcordance();
            }
        }
Пример #3
0
 private void UnitePageConcordanceDuplicates()
 {
     for (int i = 0; i < PageConcordance.Count; i++)
     {
         for (int j = i + 1; j < PageConcordance.Count; j++)
         {
             if (PageConcordance[i].Word.Equals(PageConcordance[j].Word))
             {
                 PageConcordance[i].ThePageFrequency++;
                 PageConcordance.RemoveAt(j);
                 j--;
             }
         }
     }
 }
Пример #4
0
 private void SortPageConcordance()
 {
     PageConcordance.Sort((e1, e2) => e1.Word.CompareTo(e2.Word));
 }