🔥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
Сделаем консольную утилиту на C#, которая за один запуск переименует все файлы в каталоге в выбранном режиме.
В этой задаче:
• Поддержка префикса, суффикса, смены расширения и нумерации файлов.
• Обрабатываем аргументы, фильтруем и сортируем список файлов в папке.
• Генерируем имена, переименовываем файлы, выводим прогресс и ошибки.
Полезно, когда нужно быстро навести порядок в фотоархивах, экспортированных отчётах, логах или бэкапах.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥11❤8
Погрузитесь в глубины C# вместе. Вас ждёт всё: от интерфейсов и перегрузки операторов, до LINQ с DataTable, отправки HTTP-запросов, современных шаблонов .NET 6 и внедрения зависимостей в ASP.NET Core.
Ссылочка на плейлист: YouTube🖤
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍8❤6
Читаем файлы асинхронно с await using!
Сейчас научимся читать файлы без блокировок и утечек памяти — с помощью
Подключим нужные библиотеки из стандартной библиотеки .NET:
Допустим, мы читаем файл обычным синхронным способом, без защиты:
Если возникнет исключение — потоки не будут закрыты. Ресурсы останутся висеть, и
Теперь перепишем этот код с безопасной конструкцией
Мы создаём поток с флагом
🔥 Благодаря этому, чтение файла идёт в фоне, а ресурсы гарантированно освобождаются после выхода из блока — даже при исключениях.
➡️ C# Ready | #практика
Сейчас научимся читать файлы без блокировок и утечек памяти — с помощью
await using
. Это удобно и безопасно: ресурсы освобождаются даже в случае ошибки, а чтение не тормозит основной поток.Подключим нужные библиотеки из стандартной библиотеки .NET:
using System;
using System.IO;
using System.Threading.Tasks;
Допустим, мы читаем файл обычным синхронным способом, без защиты:
FileStream fs = new FileStream("data.txt", FileMode.Open);
StreamReader reader = new StreamReader(fs);
string text = await reader.ReadToEndAsync();
Если возникнет исключение — потоки не будут закрыты. Ресурсы останутся висеть, и
Dispose()
никто не вызовет.Теперь перепишем этот код с безопасной конструкцией
await using
:await using FileStream fs = new FileStream("data.txt", FileMode.Open, FileAccess.Read, FileShare.Read, 4096, true);
using StreamReader reader = new StreamReader(fs);
string text = await reader.ReadToEndAsync();
Console.WriteLine(text);
Мы создаём поток с флагом
useAsync:
true
и оборачиваем его в await using
, чтобы автоматически вызвать Dispose()
.🔥 Благодаря этому, чтение файла идёт в фоне, а ресурсы гарантированно освобождаются после выхода из блока — даже при исключениях.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥6❤5
С их помощью можно легко преобразовывать строки и числа в нужные типы, такие как int, double, bool, а также выполнять универсальное преобразование с помощью ChangeType и работать с Base64 для сериализации и передачи данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24🤝10👍7❤4
В этой статье:
• Установка и базовая настройка библиотеки Accord.NET
• Загрузка и предварительная подготовка набора данных
• Тестирование, оценка точности и прогнозирование результатов
🟡 Рекомендую прочитать на Habr!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍5🔥5
Делаем консольную утилиту на C#, которая находит номера, начинающиеся с +7 или 8, и приводит их к единому формату
В этой задаче:
• Используем регулярное выражение для поиска номеров с любыми разделителями.
• Извлекаем нужные цифры, игнорируя пробелы, скобки и тире.
• Форматируем найденные номера в удобный и читаемый вид.
Полезно, когда нужно унифицировать контактную информацию в текстах, базах данных и логах.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥38🤝7❤5👍2👎1