C# Ready | Unity
7.54K subscribers
636 photos
37 videos
315 links
Авторский канал по разработке на C# и Unity.
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!

Автор: @energy_it

Реклама на бирже: https://telega.in/c/csharp_ready
Download Telegram
👩‍💻 Генерация случайностей на любой вкус — от int до байтов и double!

Random в C# — это гибкий инструмент для генерации случайных данных: от чисел до байтов. Особенно важен при работе с многопоточностью.

➡️ C# Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥35🤝1210👍6
👍96🔥4
Что же выведет консоль?
Anonymous Quiz
47%
A
46%
B
3%
C
5%
D
🔥96👍5
List.ForEach для компактных действий над списком!

Сейчас научимся быстро выполнять действия над элементами списка без шаблонного цикла 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 избавляет от шаблонного кода, делает перебор наглядным и экономит место

➡️ C# Ready | #практика
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
☕️ Programming stuff — это блог с глубокими статьями по .NET, C# и архитектуре программного обеспечения!

На нём вы найдёте материалы о параллельном программировании, тестировании кода, архитектурных подходах, внутренней кухне .NET и принципах эффективной разработки.

📌 Оставляю ссылочку: programming stuff

C# Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍6🔥5
👩‍💻 Массовое переименование файлов в папке!

Сделаем консольную утилиту на C#, которая за один запуск переименует все файлы в каталоге в выбранном режиме.

В этой задаче:
Поддержка префикса, суффикса, смены расширения и нумерации файлов.

Обрабатываем аргументы, фильтруем и сортируем список файлов в папке.

Генерируем имена, переименовываем файлы, выводим прогресс и ошибки.


Полезно, когда нужно быстро навести порядок в фотоархивах, экспортированных отчётах, логах или бэкапах.

➡️ C# Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥118
👩‍💻 Набор уроков от интерфейсов до Dependency Injection!

Погрузитесь в глубины C# вместе. Вас ждёт всё: от интерфейсов и перегрузки операторов, до LINQ с DataTable, отправки HTTP-запросов, современных шаблонов .NET 6 и внедрения зависимостей в ASP.NET Core.

Ссылочка на плейлист: YouTube 🖤


➡️ C# Ready | #курс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍86
Читаем файлы асинхронно с await using!

Сейчас научимся читать файлы без блокировок и утечек памяти — с помощью 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().

🔥 Благодаря этому, чтение файла идёт в фоне, а ресурсы гарантированно освобождаются после выхода из блока — даже при исключениях.

➡️ C# Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥65
👩‍💻 Познакомимся с методами Convert — надёжным инструментом для приведения данных нужному типу!

С их помощью можно легко преобразовывать строки и числа в нужные типы, такие как int, double, bool, а также выполнять универсальное преобразование с помощью ChangeType и работать с Base64 для сериализации и передачи данных.

➡️ C# Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24🤝10👍74