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

Cотрудничество: @energy_c

Реклама на бирже: https://telega.in/channels/csharp_ready/card

РКН: https://clck.ru/3SBaT3
Download Telegram
🔥6❤3👍3
Что же выведет консоль?
Anonymous Quiz
35%
A
9%
B
29%
C
27%
D
❤9👍5🔥4👎1
👩‍💻 Простое AES-шифрование строк с паролем!

Минималистичное решение для защиты строк: использует только стандартные средства .NET без зависимостей.

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

• Генерирует уникальные соль и IV для каждого шифрования;

• Получает ключ из пароля через PBKDF2 с усиленной стойкостью;

• Шифрует строку и выдаёт base64-результат, пригодный для хранения.


Это подходит для хранения секретов и быстрой интеграции в проекты.

➡️ C# Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10🔥7👍3
Заменяем if-else на switch-expression с pattern matching!

Длинные каскады if-else читаются тяжело и легко ломаются при изменениях. В C# можно выразить ту же логику с помощью switch-expression — короче, безопаснее и без лишних вложенностей.

Допустим, мы хотим выбрать иконку для файла в зависимости от расширения или размера:
string GetIcon(FileInfo file) => file switch
{
{ Extension: ".png" or ".jpg" } => "🖼",
{ Extension: ".zip" } => "📦",
{ Length: > 1_000_000 } => "📂",
_ => "📄"
};


Добавим when-условие, чтобы, например, пометить старые логи на удаление:
{ Extension: ".log", LastWriteTime: var t } when t < DateTime.Today.AddDays(-7)
=> "🗑"


🔥 Получаем декларативный и расширяемый способ выбора логики без хаоса из if-ов — особенно удобно при множестве условий.

➡️ C# Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
❤17🔥5👍2
👩‍💻 IMemoryCache — быстрый кеш в RAM!

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

Что важно знать:
• Sliding продлевает жизнь записи при каждом обращении;

• Absolute удаляет запись строго по таймеру, даже если она активна;

• TryGetValue возвращает данные без исключений — быстро и безопасно.


Добавляй, извлекай и очищай кеш с минимальным кодом.

➡ C# Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍13🔥7❤3🤝1
This media is not supported in your browser
VIEW IN TELEGRAM
😎 JetBrains .NET — официальный блог с новостями и гайдами для C#-разработчиков!

Коротко: подборка статей от JetBrains по всему, что связано с C#: релизы ReSharper и Rider, разборы поддержки языка, how-to и советы по использованию Rider/ReSharper, записи мероприятий и стримов, практики тестирования и улучшения рабочего процесса.

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

➡ C# Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7😁1
👩‍💻 Разбираем TimeZoneInfo — удобный и надёжный способ работать с часовыми поясами в .NET

Он позволяет конвертировать время между зонами, учитывать переходы на летнее и зимнее время, создавать собственные оффсеты и проверять «дырявые» участки времени.

➡️ C# Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤5👍4
Упаковываем папку в ZIP одним методом — быстро и надёжно!

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

Сначала подключим нужное пространство имён и зададим исходную папку и путь к будущему архиву:
using System.IO.Compression;

string sourceDir = @"C:\Reports";
string zipPath = @"C:\Archives\Reports_2025-09-28.zip";


Теперь упакуем каталог: с минимальным размером и без включения корневой директории в архив:
ZipFile.CreateFromDirectory(
sourceDir,
zipPath,
CompressionLevel.SmallestSize,
includeBaseDirectory: false);


После выполнения архивация будет завершена, и можно, например, вывести путь:
Console.WriteLine($"📦 Архив создан: {zipPath}");


🔥 Один метод — и вся папка в архиве: без внешних утилит, CLI или сторонних пакетов.

➡️ C# Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18❤9👍5
👩‍💻 Сегодня создаем QR-код для подключения к Wi-Fi без ввода пароля!

Готовим картинку, которая подключит к сети без ввода пароля.

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

• Строка Wi-Fi формируется специальным генератором из библиотеки;

• QR-код сохраняется как обычное изображение в формате PNG;

• Работает на большинстве телефонов без дополнительных приложений.


Удобно, просто, пригодится дома или в офисе.

➡️ C# Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28🔥11🤝9❤8