Todas as coisas mais úteis para um desenvolvedor C# em um canal. Para publicidade: @proglib_adv Aprenda conosco: https://proglib.io/w/b60af5a4 Para feedback: @proglibrary_feeedback_bot RKN: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
This channel is part of the discussion
Библиотека шарписта | C#, F#, .NET, ASP.NET appears in 34 event pages on TGList🤩 F#: упрощённые иерархии интерфейсов с DIM Раньше при работе с C#-интерфейсами, где базовый слот закрыт через дефолтную реализацию интерфейсов, F# всё равно требовал явно реализовать оба интерфейса. Теперь достаточно реализовать только производный интерфейс. 🤩 Допустим, есть…
📎 JsonSerializerOptions в каждом запросе это бомба замедленного действия Вы оптимизировали базу данных. Ничего не изменилось. Оптимизировали сетевые вызовы. Всё ещё медленно. Оказалось, приложение создаёт новый JsonSerializerOptions в каждом запросе. Это уничтожает встроенный…
📎 JsonSerializerOptions в каждом запросе это бомба замедленного действия Вы оптимизировали базу данных. Ничего не изменилось. Оптимизировали сетевые вызовы. Всё ещё медленно. Оказалось, приложение создаёт новый JsonSerializerOptions в каждом запросе. Это уничтожает встроенный…
🎹 Почему строки в .NET неизменяемы и что такое интернирование string в .NET нельзя изменить. Любая конкатенация, замена или обрезка создаёт новый объект. Благодаря этому строки безопасно использовать из нескольких потоков, удобно хранить в качестве ключей словаря, а оператор…
🧑💻 Сёрфить .NET без Blazor Можно ли запустить .NET-приложение в браузере без Blazor? Да, существуют несколько альтернативных методов, которые могут подойти для различных проектов. Один из таких методов — это WebAssembly. Эта технология позволяет компилировать .NET-код в…
⚡️ C# 15 убирает флаг из вложенных циклов Раньше для выхода сразу из нескольких foreach часто приходилось заводить переменную: bool found = false; foreach (var warehouse in warehouses) { foreach (var bin in warehouse.Bins) { if (bin.Sku == requestedSku) { found = true; break; }…