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

Автор: @energy_it

Реклама на бирже: https://telega.in/c/csharp_ready
Download Telegram
👩‍💻 Упрощаем асинхронность в Unity с помощью корутин!

Корутины позволяют просто управлять временем и задержками без нагромождения логики в Update. Это метод, который приостанавливает выполнение и продолжается в нужный момент.

Ключевые моменты:
Это обычные методы с IEnumerator, которые могут "засыпать" и "просыпаться".

Вместо ручного счёта времени: yield return new WaitForSeconds(2) — и готово.

Можно вызывать одну корутину из другой — удобно и читаемо.


Они особенно полезны для анимаций, эффектов, плавных переходов.

➡️ C# Ready | #unity
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23🤝129👍4
❤️ Нашёл годную статью — создание Telegram-бота с пошаговой настройкой и практическими примерами!

В этой статье:

• Регистрация бота через BotFather и получение токена
• Настройка клиента, запуск получения обновлений и обработка сообщений
• Обработка различных типов Update — сообщения, кнопки, опросы и другое

🟡 Рекомендую прочитать на Habr!


➡️ C# Ready | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
14👍8🔥6🤝1
👩‍💻 Генерация случайностей на любой вкус — от 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