⚙️ Zero-Allocation LINQ для .NET
LINQ — одна из лучших фич в C#. Она делает код декларативным и читаемым. Но у стандартного System.Linq есть проблема: каждая операция создает кучу объектов и аллокаций
Если у вас миллионы запросов в секунду, эти «маленькие удобства» превращаются в серьёзные проблемы со сборщиком мусора, задержками и падением производительности.
ZLinq — это библиотека, которая реализует все стандартные LINQ-операции (Where, Select, GroupBy, Aggregate, OrderBy и т.д.) без выделения памяти в куче.
Пример:
➡️ GitHub либы
🐸 Библиотека шарписта
#sharp_view
LINQ — одна из лучших фич в C#. Она делает код декларативным и читаемым. Но у стандартного System.Linq есть проблема: каждая операция создает кучу объектов и аллокаций
Если у вас миллионы запросов в секунду, эти «маленькие удобства» превращаются в серьёзные проблемы со сборщиком мусора, задержками и падением производительности.
ZLinq — это библиотека, которая реализует все стандартные LINQ-операции (Where, Select, GroupBy, Aggregate, OrderBy и т.д.) без выделения памяти в куче.
Пример:
// Обычный LINQ
var result = numbers.Where(x => x % 2 == 0).Select(x => x * 2).ToList();
// ZLinq
var result = numbers.AsZEnumerable()
.Where(x => x % 2 == 0)
.Select(x => x * 2)
.ToList();
#sharp_view
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔35❤4👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁33💯8⚡1😢1👾1
Есть код:
var dict = new Dictionary<object, string>();
dict[1] = "int";
dict[1L] = "long";
dict[1.0] = "double";
Console.WriteLine(dict.Count);
Console.WriteLine(dict[1 ]);
Что выведет код? Пишите в комменты 👇
Ответь спрячем здесь:
int
#dotnet_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🤔4❤2
Когда нужно проверить строку на пустоту в C# есть два популярных метода:
string.IsNullOrEmpty(str)
возвращает true, если строка равна null или имеет длину 0 ("").string.IsNullOrWhiteSpace(str)
идёт дальше: он также учитывает пробелы, табы и переводы строк. То есть " " будет считаться пустой.Код:
Console.WriteLine(string.IsNullOrEmpty(" ")); // False
Console.WriteLine(string.IsNullOrWhiteSpace(" ")); // True
Если нужно проверить только на null и пустую строку — используйте IsNullOrEmpty. Если важно исключить строки, состоящие только из пробелов или невидимых символов — выбирайте IsNullOrWhiteSpace.
#sharp_view
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱24👍4😁2❤1
В новой версии Rx.NET 6.1 появилось три ключевых новшества:
• метод
DisposeWith
для удобной работы с CompositeDisposable
• новый
TakeUntil(CancellationToken)
для управления бесконечными потоками • оператор
ResetExceptionDispatchState
, решающий проблему с растущими стектрейсом при повторных await
.#asycn_news
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
В .NET есть команда создаёт готовый .gitignore, оптимизированный под экосистему.
В нём уже прописаны все типичные исключения: каталоги bin/, obj/, кэш NuGet, файлы публикаций, временные артефакты IDE и прочие служебные данные, которые не должны попадать в репозиторий.
Команда:
dotnet new gitignore
Не нужно искать шаблон на GitHub или копировать его вручную — всё доступно из коробки.
#sharp_view
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥6❤2
🚀 Курс «ИИ-агенты для DS-специалистов» уже стартовал
Первый вебинар успешно прошёл, участники уже начали разбираться, как использовать ИИ-агентов в реальных проектах.
Но всё самое интересное только начинается!
🔥 Впереди 4 мощных занятия — с практикой, инсайтами и разбором кейсов от экспертов.
💸 Сейчас действует специальная цена → 69.000 ₽ вместо79.000 ₽.
⏳ Осталось всего 4 места.
Не упустите шанс прокачаться в том, что будет определять будущее индустрии.
👉 Забронировать место на курсе
Первый вебинар успешно прошёл, участники уже начали разбираться, как использовать ИИ-агентов в реальных проектах.
Но всё самое интересное только начинается!
🔥 Впереди 4 мощных занятия — с практикой, инсайтами и разбором кейсов от экспертов.
💸 Сейчас действует специальная цена → 69.000 ₽ вместо
⏳ Осталось всего 4 места.
Не упустите шанс прокачаться в том, что будет определять будущее индустрии.
👉 Забронировать место на курсе