csharp_ready | Unsorted

Telegram-канал csharp_ready - C# Ready | Unity

9818

Авторский канал по разработке на C# и Unity. Ресурсы, гайды, задачи, шпаргалки. Информация ежедневно пополняется! Автор: @energy_it РКН: https://clck.ru/3SBaT3 Реклама на бирже: https://telega.in/c/csharp_ready

Subscribe to a channel

C# Ready | Unity

👩‍💻 Добавляем полупрозрачный текстовый водяной знак!

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

В этой задаче:

• Обработка любых форматов изображений без лишних зависимостей;

•
Надпись автоматически располагается точно в нужном углу кадра;

• Прозрачность текста легко регулируется для любого фона.


Получите аккуратный водяной знак без дополнительных усилий.

➡️ C# Ready | #задача

Читать полностью…

C# Ready | Unity

☕️ The Morning Brew — это ежедневный блог-сборник ссылок по .NET-разработке!

Он публикует отобранные статьи, заметки и инструменты по C#, ASP․NET, облачным сервисам и другим темам .NET-мира. Отлично подойдёт разработчикам, которые хотят быстро и удобно быть в курсе новостей и полезных материалов сообщества.

📌 Оставляю ссылочку: The Morning Brew

➡ C# Ready | #ресурс

Читать полностью…

C# Ready | Unity

👩‍💻 Разбираем RandomNumberGenerator — криптографический источник случайных чисел для паролей, токенов и шифрования!

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

➡️ C# Ready | #шпора

Читать полностью…

C# Ready | Unity

👩‍💻 ASCII-гистограмма символов: превращаем строку в наглядную статистику прямо в консоли!

Мини-приложение, которое читает текст и рисует частотную диаграмму.

В этой задаче:

• Принимаем строку и приводим буквы к одному виду.

• Считаем сколько раз встречается каждый знак кроме пробелов.

• Рисуем полоски так, чтобы самые частые были длиннее.


Диаграмма мгновенно показывает, какие символы в тексте преобладают.

➡️ C# Ready | #задача

Читать полностью…

C# Ready | Unity

👩‍💻 Сегодня покажу вам Addressables — контент по запросу в Unity!

Они подгружают ассеты именно тогда, когда они нужны, — движок находит их локально или скачивает с CDN по назначенному адресу, поэтому билд получается компактнее.

Ключевые моменты:

• Загружает только нужные ресурсы, экономит место и память.

• Делит файлы на локальные и сетевые для гибкости.

• Позволяет обновлять игру без переустановки и долгих ожиданий.


Они уменьшают размер билда и освобождают память через Release, делая игру плавной даже на слабых устройствах.

➡️ C# Ready | #unity

Читать полностью…

C# Ready | Unity

Срезы коллекций — когда нужна часть, а лишнее не нужно!

Иногда требуется взять только кусок массива или строки: первые элементы, последние — или вырезать середину. Раньше ради этого писали Substring, Skip / Take и плодили лишние аллокации.

В C# 8 появились операторы диапазонов .. и индексов с конца ^, которые делают такие операции короче и нагляднее.

Создадим массив данных:

int[] data = { 10, 20, 30, 40, 50, 60 };


Берём элементы со 2-го по 3-й (правый край не включён):
int[] middle = data[1..3];      // {20, 30}


Последние два элемента:
int[] lastTwo = data[^2..];     // {50, 60}


Всё, кроме первых двух и последних двух:
int[] withoutEdges = data[2..^2]; // {30, 40}


То же со строкой — вытаскиваем слово «Index»:
string text = "Range & Index";
string word = text[^5..]; // "Index"


🔥 Range и Index делают код короче, читаемее и позволяют работать с Span<T> без копирования: меньше аллокаций — выше производительность!

➡️ C# Ready | #практика

Читать полностью…

C# Ready | Unity

👍 CSharpTutorials — топовый ресурс для изучения C# и .NET

Пошаговые материалы: от азов синтаксиса и первых консольных программ до мини-проектов Guess the Number и Hangman; многочастная серия «The Essential C#/.NET Handbook», статьи об асинхронности async/await, LINQ, partial-методах и коллекциях

📌 Оставляю ссылочку: csharptutorials.com

➡ C# Ready | #ресурс

Читать полностью…

C# Ready | Unity

ℹ️ Держите совет по чистому коду:

Используйте описательные методы вместо сложных условных операторов IF

Чтение длинных и запутанных условий в IF-операторах может быть затруднительным.

Лучше всего вынести логику проверки в отдельный метод (или переменную) с понятным и выразительным именем.

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

➡️ C# Ready | #ресурс

Читать полностью…

C# Ready | Unity

ПРИМИ УЧАСТИЕ В SMOLATHON 2025 🚀

Любимый многими хакатон возвращается!

16-17 октября 2025 года в Смоленске пройдет масштабный хакатон по созданию цифровых решений для городской среды!

Хакатон проходит в рамках международного молодежного ИТ-форум [Свой код].

[Свой Код] — это новая площадка для молодежи, которой интересны технологии и инновации, которая хочет расти и развиваться профессионально в технологической среде, заинтересована в построении своей карьеры или хочет стать технологическим предпринимателем. В рамках форума предусмотрены развлекательная программа, лекции и мастер-классы, выставка технологий.

На этот раз участникам предстоит разработать веб-платформу для Центра организации дорожного движения Смоленской области.

🚨 Обрати внимание, в этом году хакатон пройдет в два этапа. Прояви себя в отборочном этапе и пройди в финал крутого IT-события осени!

Сохраняй даты:
• Отборочный онлайн-этап: 22 сентября - 3 октября 2025 года
• Очный финал: 16-17 октября для лучших 20 команд

💡 Тебя ждет:
• Решение актуальной задачи для города
• Призовой фонд 500 000 рублей
• Новые знакомства с IT-сообществом

👥 Собери dream team из 2-5 человек и покажи, на что способны настоящие разработчики.

📌 Важно: каждый участник регистрируется индивидуально на сайте https://clck.ru/3PEq8F, а капитан команды отмечает свой статус при регистрации.

Успей зарегистрироваться до 20 сентября 2025 года.

Читать полностью…

C# Ready | Unity

👩‍💻 Разберем MemoryMappedFile — быстрая общая память без копирования данных!

Позволяет разным процессам моментально делиться состоянием и постранично работать с большими файлами, не загружая их полностью в RAM.

Что важно знать:

• Один участок памяти доступен сразу разным приложениям;

• Всегда закрывайте ресурсы, иначе память останется занята;

• Выбирайте размер области, учитывая расход оперативной памяти.


Так вы получаете мгновенный обмен данными и экономию ресурсов при работе с крупными файлами.

➡ C# Ready | #гайд

Читать полностью…

C# Ready | Unity

😎 DevTut — компактный справочник по языку и экосистеме!

На одной странице собрано 160 лаконичных рецептов: от азов (переменные, условные операторы, коллекции) до продвинутых приёмов LINQ, async/await, TPL, DI, рефлексии и Roslyn.

📌 Оставляю ссылочку: devtut.io

➡ C# Ready | #ресурс

Читать полностью…

C# Ready | Unity

Прерываем длительные задачи с CancellationToken!

Иногда задача «зависает», и нужно прервать её заранее — при закрытии окна, нажатии «Отмена» или по таймеру. Раньше мы делали так:

bool cancel = false;
if (cancel) break; // громоздко


Такой ручной флажок неудобен, особенно в асинхронных операциях с await. Теперь делаем цивильно — через CancellationTokenSource.
using var cts = new CancellationTokenSource();
// отмена через 3 секунды
cts.CancelAfter(3000);


Токен готов! Запускаем работу в отдельной задаче и проверяем отмену перед каждой задержкой.
await Task.Run(async () =>
{
for (int i = 1; i <= 10; i++)
{
cts.Token.ThrowIfCancellationRequested(); // 💥 если отменили
Console.WriteLine($"Шаг {i}/10…");
await Task.Delay(1000, cts.Token); // отменяемое ожидание
}
});


Обернём вызов в try/catch, чтобы красиво сообщить о прерывании.
catch (OperationCanceledException)
{
Console.WriteLine("Задача отменена");
}


🔥 Теперь ты умеешь безопасно прерывать асинхронные задачи — по таймеру или по событию!

➡️ C# Ready | #практика

Читать полностью…

C# Ready | Unity

👩‍💻 Разбираем Parallel — инструмент для ускорения работы программ!

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

➡️ C# Ready | #шпора

Читать полностью…

C# Ready | Unity

👩‍💻 Default Interface Methods (DIM) — эволюция интерфейсов в C# 8.0 без переписывания кода!

Это механизм, который позволяет объявлять реализацию прямо в интерфейсе, сохраняя совместимость со старыми реализациями и упрощая развитие API.

Что важно знать:

• Метод интерфейса теперь может иметь тело, при этом обязателен модификатор доступа;

• Класс-реализация может переопределить такой метод, но не обязан;

• Новые методы можно добавлять в интерфейс, не ломая существующие реализации.


Так вы получаете гибкий контракт, который можно расширять без «болезненных» правок по всему проекту

➡ C# Ready | #гайд

Читать полностью…

C# Ready | Unity

Прерываем длительные задачи с CancellationToken!

Иногда задача "зависает", и нам нужно прервать её выполнение заранее. Например, при закрытии окна, нажатии "Отмена" или по таймеру.

Раньше приходилось использовать флаги и вручную проверять отмену в каждом шаге:

bool cancel = false;
if (cancel) break;


Такой подход громоздкий и неудобен, особенно для асинхронных операций с ожиданием.

Сейчас используем встроенный механизм CancellationToken с таймером отмены и try/catch:
using var cts = new CancellationTokenSource();
// отмена через 3 секунды
cts.CancelAfter(3000);


Создаём задачу, которая будет проверять токен отмены перед каждой задержкой:
await Task.Run(async () =>
{
for (int i = 1; i <= 10; i++)
{
cts.Token.ThrowIfCancellationRequested();
Console.WriteLine($"Шаг {i}/10...");
await Task.Delay(1000, cts.Token);
}
});


Оборачиваем выполнение в try/catch, чтобы корректно обработать отмену задачи:
catch (OperationCanceledException)
{
Console.WriteLine("Задача отменена");
}


🔥 Теперь ты умеешь прерывать асинхронные задачи по таймеру или по событию — удобно и безопасно.

➡️ C# Ready | #практика

Читать полностью…

C# Ready | Unity

👩‍💻 Фоновые задачи по расписанию: два триггера на Quartz․NET

Консольное приложение, которое выводит строку каждые 30 с и отчёт раз в 5 мин

В этой задаче:

• Подключаем NuGet-пакет Quartz одной командой.

• Пишем HelloJob и ReportJob, реализующие IJob.

• Настраиваем SimpleSchedule, CronSchedule и затем ScheduleJob / Start / Shutdown.


Сообщения легко заменить логами, запросами к API или записью в БД — всё по таймеру без сложных потоков.

➡️ C# Ready | #задача

Читать полностью…
Subscribe to a channel