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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
🔒🔥 В .NET 9 появится новый тип Lock()

Отличный вариант для выделенного типа lock, поскольку это дает нам способ более четко выразить намерение нашего кода.

#dotnet #tip by Steven Giesel
👍50🥱161🔥1
💡 Parameter Object Pattern

Если метод принимает много связанных параметров, рассмотрите возможность группировки их в объект, чтобы упростить модификацию и сигнатуры.

Очень полезно, когда группа параметров часто используется повторно.

#dotnet #csharp #tip by Dave Callan
😁23👍12🥱8👾3
🤔 Согласитесь, что глубоко вложенный код трудно читать?

В методах с большим количеством вложений можно использовать подход Early Return и Guard Clause, чтобы сделать код более удобным для чтения.

#dotnet #csharp #tip by Dave Callan
👍44🥱35💯7🌚2
👆 Кстати, в EF 9 представлен новый удобный способ заполнения базы данных начальными данными.

#efcore #dotnet #tip by Nabi Karampour
👏39👍10🔥6🥰3
💡 BenchmarkDotNet в действии: простой пример для C#-разработчика

#dotnet #tip by Dave Callan
👍333🔥2🥱2
💡 Кстати, ExecuteUpdate поддерживает обновление complex типов в Entity Framework 9

Раньше приходилось перечислять каждый элемент complex типа в ExecuteUpdate, а теперь он принимает complex тип, но вам все равно нужно указать каждый элемент.

#dotnet #efcore #tip by Oleg Kyrylchuk
🔥18🤔1
🚀 Сравнение производительности конкатенации строк в .NET 9

Есть и другие подходы, когда нам нужна ещё более высокая производительность, но из распространённых подходов, показанных ниже, StringJoin выигрывает.

#dotnet #csharp #tip by Dave Callan
👍25👏3👾2