Сегодня реализуем простой алгоритм частотного анализа: определим, какое слово встречается чаще всего в произвольном тексте.
В этой задаче:
• Получаем строку от пользователя через консоль
• Убираем знаки препинания и приводим все слова к нижнему регистру
• Определяем слово с наибольшим числом повторений и выводим его
Этот подход полезен для анализа логов, выделения ключевых слов и предварительной обработки текста.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥33👍14❤6
Создаём record-типы и копируем объекты с with!
Сейчас научимся создавать неизменяемые типы с помощью
Для начала подключим нужную библиотеку, она уже есть в стандартной поставке:
Теперь опишем тип
Допустим, нам нужно изменить возраст пользователя. Вместо изменения мы создадим копию с новым значением, используя
Вот что получится при запуске:
🔥 Таким образом ты получаешь иммутабельные объекты и можешь удобно копировать их с изменениями — без лишнего кода и side-effects.
➡️ C# Ready | #практика
Сейчас научимся создавать неизменяемые типы с помощью
record
и копировать их, меняя отдельные поля. Это удобно для хранения конфигураций, данных пользователя или состояния UI.Для начала подключим нужную библиотеку, она уже есть в стандартной поставке:
using System;
Теперь опишем тип
record
— это специальный синтаксис для неизменяемых объектов, и создадим первый экземпляр:public record User(string Name, int Age);
User original = new User("Alice", 30);
Допустим, нам нужно изменить возраст пользователя. Вместо изменения мы создадим копию с новым значением, используя
with
:User updated = original with { Age = 31 };
Console.WriteLine(original);
Console.WriteLine(updated);
Вот что получится при запуске:
User { Name = Alice, Age = 30 }
User { Name = Alice, Age = 31 }
🔥 Таким образом ты получаешь иммутабельные объекты и можешь удобно копировать их с изменениями — без лишнего кода и side-effects.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍7🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
Здесь собраны пошаговые гайды по базовому синтаксису C#, объектно-ориентированному программированию, LINQ, async/await, работе с SQLite, файловой системой и многим другим.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥6❤5
Корутины позволяют просто управлять временем и задержками без нагромождения логики в Update. Это метод, который приостанавливает выполнение и продолжается в нужный момент.
Ключевые моменты:
• Это обычные методы с IEnumerator, которые могут "засыпать" и "просыпаться".
• Вместо ручного счёта времени: yield return new WaitForSeconds(2) — и готово.
• Можно вызывать одну корутину из другой — удобно и читаемо.
Они особенно полезны для анимаций, эффектов, плавных переходов.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23🤝13❤9👍4
В этой статье:
• Регистрация бота через BotFather и получение токена
• Настройка клиента, запуск получения обновлений и обработка сообщений
• Обработка различных типов Update — сообщения, кнопки, опросы и другое
🟡 Рекомендую прочитать на Habr!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14👍8🔥6🤝1
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥35🤝12❤10👍6
🔥9❤6👍5
List.ForEach для компактных действий над списком!
Сейчас научимся быстро выполнять действия над элементами списка без шаблонного цикла foreach — с помощью встроенного метода
Для начала подключим стандартные библиотеки — всё уже включено:
Создадим простой список чисел:
Вот как это обычно делается с использованием стандартного цикла:
Теперь то же самое, но с использованием
Если нужно выполнить более сложное действие — например, вывести квадраты чисел — можно передать лямбда-выражение:
🔥 Метод
➡️ C# Ready | #практика
Сейчас научимся быстро выполнять действия над элементами списка без шаблонного цикла foreach — с помощью встроенного метода
List.ForEach
. Для начала подключим стандартные библиотеки — всё уже включено:
using System;
using System.Collections.Generic;
Создадим простой список чисел:
List<int> numbers = new() { 1, 2, 3, 4, 5 };
Вот как это обычно делается с использованием стандартного цикла:
foreach (var n in numbers)
Console.WriteLine(n);
Теперь то же самое, но с использованием
ForEach
— короче и нагляднее:numbers.ForEach(Console.WriteLine);
Если нужно выполнить более сложное действие — например, вывести квадраты чисел — можно передать лямбда-выражение:
numbers.ForEach(n => Console.WriteLine(n * n));
🔥 Метод
ForEach
избавляет от шаблонного кода, делает перебор наглядным и экономит местоPlease open Telegram to view this post
VIEW IN TELEGRAM
❤26👍15🔥8😁1🤝1
This media is not supported in your browser
VIEW IN TELEGRAM
На нём вы найдёте материалы о параллельном программировании, тестировании кода, архитектурных подходах, внутренней кухне .NET и принципах эффективной разработки.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍6🔥5