Я лично создал консольное приложение на C#, которое выполняет задачу с подсчетом уникальных слов и их количества в текстовом файле. Процесс создания такого приложения был достаточно простым и интересным. В этой статье я расскажу, как я это сделал и как можно повторить мои действия;Для начала, я создал две сборки⁚ exe и dll. Сборка exe отвечает за чтение файла, вызов метода из dll, передачу текста и запись результата в файл. Сборка dll содержит один класс и приватный метод, который принимает текст и возвращает Dictionary с уникальными словами и их количеством.Теперь перейдем к коду. В сборке dll я создал класс WordCounter с приватным методом CountWords, который выполняет всю работу по подсчету уникальных слов. Вот как выглядит код этого метода⁚
csharp
private static Dictionary
{
Dictionary
string[] words text.Split(new char[] { ‘ ‘, ‘\n’, ‘\r’, ‘\t’ }, StringSplitOptions.RemoveEmptyEntries);
foreach (string word in words)
{
if (wordCount.ContainsKey(word))
{
wordCount[word] ;
}
else
{
wordCount[word] 1;
}
}
return wordCount;
}
Здесь мы разделили входной текст на слова, используя разделители пробела, перевода строки и табуляции. Затем мы проходимся по каждому слову и увеличиваем счетчик для этого слова в словаре wordCount. Если слово уже есть в словаре, то увеличиваем его счетчик на 1٫ в противном случае добавляем его в словарь с начальным значением 1.Теперь перейдем к сборке exe. В ней я создал метод Main٫ который отвечает за чтение файла٫ вызов метода CountWords из сборки dll٫ получение результата и запись его в файл. Вот как выглядит код этого метода⁚
csharp
static void Main(string[] args)
{
string inputFileName ″input.txt″;
string outputFileName ″output.txt″;
string text File.ReadAllText(inputFileName);
Dictionary
var sortedWordCount wordCount.OrderByDescending(pair > pair.Value);
using (StreamWriter writer new StreamWriter(outputFileName))
{
foreach (var pair in sortedWordCount)
{
writer.WriteLine($″{pair.Key}⁚ {pair.Value}″);
}
}
}
Здесь мы считываем текст из файла с помощью метода File.ReadAllText, вызываем метод CountWords из сборки dll, получаем результат в виде словаря wordCount и сортируем его по убыванию количества употреблений слов. Затем мы открываем файл для записи с помощью StreamWriter и проходимся по отсортированному словарю, записывая каждую пару ключ-значение в файл.
Теперь, чтобы запустить приложение, вам достаточно скомпилировать обе сборки и запустить exe файл. Он прочитает текст из файла input.txt, выполнит подсчет уникальных слов, отсортирует результат по количеству употреблений и запишет его в файл output.txt.
Надеюсь, эта статья была полезной и поможет вам создать свое собственное консольное приложение на C# для подсчета уникальных слов в текстовом файле. Удачи в программировании!