❤9👍5🔥4👎1
Минималистичное решение для защиты строк: использует только стандартные средства .NET без зависимостей.
В этой задаче:
• Генерирует уникальные соль и IV для каждого шифрования;
• Получает ключ из пароля через PBKDF2 с усиленной стойкостью;
• Шифрует строку и выдаёт base64-результат, пригодный для хранения.
Это подходит для хранения секретов и быстрой интеграции в проекты.
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!
Длинные каскады
Допустим, мы хотим выбрать иконку для файла в зависимости от расширения или размера:
Добавим
🔥 Получаем декларативный и расширяемый способ выбора логики без хаоса из
➡️ C# Ready | #практика
Длинные каскады
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-ов — особенно удобно при множестве условий.Please open Telegram to view this post
VIEW IN TELEGRAM
❤17🔥5👍2
Позволяет хранить часто используемые данные в памяти и получать к ним мгновенный доступ без похода в базу или сеть.
Что важно знать:
• Sliding продлевает жизнь записи при каждом обращении;
• Absolute удаляет запись строго по таймеру, даже если она активна;
• TryGetValue возвращает данные без исключений — быстро и безопасно.
Добавляй, извлекай и очищай кеш с минимальным кодом.
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 по всему, что связано с C#: релизы ReSharper и Rider, разборы поддержки языка, how-to и советы по использованию Rider/ReSharper, записи мероприятий и стримов, практики тестирования и улучшения рабочего процесса.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7😁1
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤5👍4
Упаковываем папку в ZIP одним методом — быстро и надёжно!
Иногда нужно отправить отчёты коллегам или сохранить бэкап: идеальный вариант — запаковать директорию одним вызовом.
Сначала подключим нужное пространство имён и зададим исходную папку и путь к будущему архиву:
Теперь упакуем каталог: с минимальным размером и без включения корневой директории в архив:
После выполнения архивация будет завершена, и можно, например, вывести путь:
🔥 Один метод — и вся папка в архиве: без внешних утилит, CLI или сторонних пакетов.
➡️ C# Ready | #практика
Иногда нужно отправить отчёты коллегам или сохранить бэкап: идеальный вариант — запаковать директорию одним вызовом.
Сначала подключим нужное пространство имён и зададим исходную папку и путь к будущему архиву:
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 или сторонних пакетов.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18❤9👍5
Готовим картинку, которая подключит к сети без ввода пароля.
Что важно знать:
• Строка Wi-Fi формируется специальным генератором из библиотеки;
• QR-код сохраняется как обычное изображение в формате PNG;
• Работает на большинстве телефонов без дополнительных приложений.
Удобно, просто, пригодится дома или в офисе.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28🔥11🤝9❤8