Mantukasx Ответов: 1

Как мне найти самое повторяющееся слово


Эй. Я новичок в C# и хотел бы спросить, как мне найти слово, которое было наиболее часто использовано. Например, у меня есть файл .txt, в котором у меня есть 3 слова: человек;маг;человек. Как я узнаю, что человек был использован больше всего, и как я могу вернуть его ?

Что я уже пробовал:

Я еще не знаком с циклом foreach, и эти значения хранятся в списке. Так что любая помощь хороша. Извините за мои плохие знания английского языка..

1 Ответов

Рейтинг:
8

OriginalGriff

Как и в любой задаче, разбейте ее на более мелкие кусочки.
1) прочитать файл
2) разбейте его на слова.
3) выявление различных / повторяющихся слов
4) пересчитайте их.
5) Найдите самый высокий счет.

На каждом этапе получите те, которые были написаны, закодированы , протестированы и совершенны, прежде чем двигаться дальше.

Итак, во-первых, я предполагаю, что вы знаете, как это сделать.
Второй (учитывая ваши примерные данные) прост: посмотрите на Строка.Метод Разделения (Система) | Microsoft Docs[^]
Третий более сложный, и есть целый груз способов сделать это.
Четвертое, вероятно, легче всего сделать как часть третьего, когда у вас есть третья работа.
Пятое довольно тривиально, когда все остальное сделано.

Как бы я это сделал? Я бы использовал Linq и одну строку кода для 3, 4 и 5 вместе - но это никуда не приведет вас с вашим домашним заданием, если вы еще не хороши с циклами!

Итак: создайте пару массивов, один из которых содержит строки, а другой-целые числа (или лучше класс, содержащий строку и целое число, а затем создайте их массив, если вы уже это рассмотрели).
Просмотрите свои слова и посмотрите, есть ли они уже в массиве строк. Если это не так, добавьте его.
Когда это проверено и работает, добавьте счетчик: установите соответствующее целое число на единицу, когда вы добавляете слово в коллекцию, увеличьте его, если оно уже есть.
Наконец, найдите наибольшее число в коллекции целых чисел и выведите соответствующее слово.

Это не сложно, не совсем - но это твоя домашняя работа, так что я не дам тебе никакого кода!