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

Автор: @energy_it

РКН: https://clck.ru/3SBaT3

Реклама на бирже: https://telega.in/c/csharp_ready
Download Telegram
👩‍💻 CancellationToken без лишней магии!

В этой шпаргалке — практический подход к отмене в async-коде: как задавать дедлайны, объединять причины отмены, корректно останавливать вычисления и не забывать прокидывать токен до реальных операций, чтобы отмена работала предсказуемо.

➡️ C# Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥157👍5🤝2
📂 Шпаргалка по System Design!

На картинке — компактная памятка о том, как мыслить в системном дизайне через три главные цели: держать систему доступной 24/7, переваривать большой поток запросов и безболезненно расти по нагрузке и функциональности.

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

➡️ C# Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
12🔥5👍4
Raw string literals в C# 11: многострочные строки без экранирования и боли!

Когда нужно вставить JSON, SQL или Regex в код, обычные строки быстро превращаются в ад: везде обратные слеши, кавычки, переносы строк и постоянные ошибки в экранировании.

Раньше приходилось экранировать кавычки и руками добавлять переносы:
string json = "{\n" +
" \"user\": \"Anna\",\n" +
" \"age\": 28,\n" +
" \"city\": \"Helsinki\"\n" +
"}";
Console.WriteLine(json);


Такой код трудно читать, а любая правка JSON превращается в мини-квест.

В C# 11 появились raw string literals — строки в тройных кавычках, где почти ничего не нужно экранировать:
string json = """
{
"user": "Anna",
"age": 28,
"city": "Helsinki"
}
""";

Console.WriteLine(json);


Переносы строк сохраняются как есть, кавычки внутри не нужно экранировать, и текст выглядит ровно так, как он должен выглядеть.

🔥 Итог: идеально для JSON/SQL/Regex — меньше мусора в коде, больше читабельности и меньше ошибок при редактировании.

➡️ C# Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍159🔥7
Почему DateTime.Now иногда ломает сроки действия?

Типичная ошибка — сохранять локальное время сервера и потом сравнивать его с UTC. Выглядит невинно:
var expiresAt = DateTime.Now.AddHours(1);
if (DateTime.UtcNow > expiresAt) { ... }


Но Now зависит от таймзоны и DST: окружение поменялось — и сравнения начинают “плавать”. Надёжнее хранить момент времени в UTC, лучше через DateTimeOffset:
var expiresAtUtc = DateTimeOffset.UtcNow.AddHours(1);
if (DateTimeOffset.UtcNow > expiresAtUtc) { ... }


А локальную дату оставь для UI — конвертируй в таймзону пользователя:
var expiresForUser = TimeZoneInfo.ConvertTime(expiresAtUtc, userTz);


Итог: UTC для хранения и сравнения, локаль — только для отображения.

➡️ C# Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥54
👩‍💻 Быстро собирать и менять строки — вот что умеет StringBuilder.

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

➡️ C# Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥18🤝153
📂 Напоминалка по HTTP-статусам!

Например, код 200 означает, что всё прошло успешно, а 404 сообщает, что страница не найдена.
Очень полезно держать под рукой, когда работаешь с API или отлаживаешь backend.

На картинке показаны самые часто используемые статусы от 100 до 599.

Сохрани, чтобы не забыть!

C# Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23👍109
👩‍💻 Парсер аргументов командной строки — быстро и по-человечески!

args[] легко превращается в понятные настройки: флаги включают режимы, --file принимает путь, а всё лишнее аккуратно ловится как ошибка.

В этой задаче узнаешь:
Как разбирать флаги -v/-h без путаницы;

Как поддержать --file=... и --file ... одним правилом;

Зачем нужен --, чтобы отделять опции от аргументов.


Такой каркас можно спокойно расширять: добавлять --out, --mode, команды и нормальные сообщения об ошибках.

➡️ C# Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍65👎3🤝3
This media is not supported in your browser
VIEW IN TELEGRAM
☕️ Guru99 C# — это крутой онлайн-ресурс для самостоятельного изучения языка!

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

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

➡️ C# Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
11🔥6👍3