В простом окне терминала рождается динамика стратегии — всего девять клеток, но достаточно, чтобы почувствовать азарт и победу в чистом виде.
В этой задаче:
• Показывает, как из обычного ввода сделать живую механику;
• Учит коду реагировать на игрока, как на событие;
• Демонстрирует, что даже консоль может быть интерактивной.
Игра заканчивается быстро, но ощущение победы остаётся дольше, чем кажется.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12🔥11👍5🤝3
Как работать с многострочными строками без «+» и «\n»?
При вставке длинных
До C# 11 приходилось писать так:
С C# 11 можно использовать raw-строки:
🔥 Это позволяет вставлять
➡️ C# Ready | #совет
При вставке длинных
SQL, JSON или других текстовых фрагментов код засоряется экранированием и конкатенациями, из-за чего теряется читаемость и становится сложнее вносить правки.До C# 11 приходилось писать так:
var sql = "SELECT Id, Name\n" +
"FROM Users\n" +
"WHERE Name LIKE '%Иван%'";
С C# 11 можно использовать raw-строки:
var sql = """
SELECT Id, Name
FROM Users
WHERE Name LIKE '%Иван%'
""";
🔥 Это позволяет вставлять
SQL, JSON, XML и любые другие большие тексты без экранирования и конкатенаций — код чище и понятнее.Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥8❤7
В этой шпаргалке вы узнаете, как грамотно управлять культурными настройками приложения: менять формат дат и чисел под привычки пользователя, использовать инвариантные форматы для надёжной сериализации, обращаться к кешированным объектам по коду языка и на лету адаптировать шаблоны выводаPlease open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16❤5🤝5👍2
Эффективная отмена операций с CancellationToken!
Часто нужно прерывать долгие операции по таймауту или по внешнему сигналу — как сделать это просто и гибко?
Сначала создаём источник с таймаутом:
Далее связываем таймаутный токен с внешним и передаём в асинхронный метод:
🔥 Главное — комбинируйте таймауты и внешние токены для гибкой и надёжной отмены операций.
➡️ C# Ready | #практика
Часто нужно прерывать долгие операции по таймауту или по внешнему сигналу — как сделать это просто и гибко?
Сначала создаём источник с таймаутом:
var ctsTimeout = new CancellationTokenSource();
ctsTimeout.CancelAfter(TimeSpan.FromSeconds(5));
var timeoutToken = ctsTimeout.Token;
Далее связываем таймаутный токен с внешним и передаём в асинхронный метод:
var ctsExternal = new CancellationTokenSource();
using var linkedCts = CancellationTokenSource.CreateLinkedTokenSource(
timeoutToken, ctsExternal.Token);
await SomeLongOperationAsync(linkedCts.Token);
🔥 Главное — комбинируйте таймауты и внешние токены для гибкой и надёжной отмены операций.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15👍7🔥4
Асинхронность — это не просто техника ускорения, а способ сохранить живость интерфейса. Правильное использование
await делает взаимодействие с приложением плавным, отзывчивым и естественным для пользователя.В этом гайде:
• Помогаем коду “дышать” без остановки и ожидания
• Делаем действия пользователя мгновенно ощущаемыми и живыми
• Учимся писать обработчики, которые не тормозят весь поток
Асинхронный код — это про комфорт: интерфейс работает, пока программа думает.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍10❤4🤝2😁1
🔥15❤5👍4
Едва заметное смещение порядка запуска скриптов способно породить загадочные баги, поэтому раз и навсегда стоит приручить их хронометраж в своём проекте.
В этом посте:
• Ранний запуск кода убирает неожиданные задержки во время старта;
• Чёткий порядок шагов помогает быстро ловить мелкие баги;
• Грамотная инициализация ускоряет запуск и упрощает будущие правки.
Держи сценарии по порядку, и проект отблагодарит стабильностью, ясным поведением, лёгкой отладкой и быстрой разработкой.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18👍8❤4