Библиотека шарписта | C#, F#, .NET, ASP.NET
22.8K subscribers
2.28K photos
37 videos
85 files
4.44K links
Все самое полезное для C#-разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/b60af5a4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
👨‍💻 ImmutableCollection и многозадачность в C#

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

ImmutableCollection помогает решить эту задачу, предоставляя коллекции, которые нельзя изменять после их создания. Но стоит ли использовать их везде?

Таким вопросом и задался наш подписчик:
Как ImmutableCollection помогает при разработке многозадачных приложений? Стоит ли использовать их везде, где возможно?


Когда не стоит использовать:

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

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

Когда ImmutableCollection — это идеальный выбор:

• Когда данные не изменяются часто
• Когда важна безопасность многозадачности
• В функциональном программировании

💬 Как вы используете ImmutableCollection? Поделитесь опытом в комментариях 👇

🐸Библиотека шарписта

#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2
⚡️ One-shot execution для CLI-инструментов

В .NET 10 Preview 6 появилась новая фича — one-shot execution для .NET-инструментов. Больше не нужно ставить глобальные или локальные tools, если нужно просто один раз запустить утилиту.

Как это работает

dotnet tool exec <packageId> [args]
Скачивает инструмент из NuGet, кэширует и сразу запускает.

dnx <packageId> [args]
Короткий алиас для удобного вызова (аналог npx в мире Node.js).

— Если рядом есть dotnet-tools.json → подтянет версию из него. Если нет, то возьмёт последнюю доступную.

— При первом запуске спросит подтверждение, потом будет использовать уже закешированную версию.

Пример:
# Запуск dotnet-outdated без установки
dotnet tool exec dotnet-outdated -- --version

# То же самое, но короче
dnx dotnet-outdated --version


🐸Библиотека шарписта

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1