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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
📖 ТОП-7 книг по C# для начинающих разработчиков в 2024 году

Начинаете изучать C#? Мы подобрали для вас 7 лучших книг, которые помогут освоить язык и стать успешным разработчиком (внутри есть ссылки для скачивания).

🔗 Читать статью
🔗 Зеркало
12🌚7👍4
📌 Access Modifiers: сводная таблица для C#-разработчика

👉 Гайд на MS Learn

#csharp #tip
👍26🥰7🥱321
🧰 Pure.DI — генератор исходного кода для создания графов объектов, который определяет оптимальную структуру графа на этапе компиляции, проверяет ее корректность и генерирует код класса для создания графов объектов в парадигме Pure DI, используя только базовые конструкции языка.

👉 Основной разработчик рассказал в статье, что нового появилось в последней версии инструмента.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81
Вам предлагают очень «жирный» оффер, но каждый раз вы находите причину, чтобы остаться на текущей работе. Как быть?
Anonymous Poll
48%
Соглашусь на жирный оффер
26%
Если на текущей работе работается, зачем увольняться?
1%
Свой вариант (напишу в комментариях)
24%
Посмотреть результаты
👍2
async/await с нуля на C# со Stephen Toub

Помните Stephen Toub с его лонгридами в блоге .NET? У него не просто статьи, а целые исследования, по которым обучаются другие .NET-разрабы.

Недавно он вместе с Scott Hanselman раскрыл тайны мира асинхронного программирования с помощью .NET и, в частности, магии async/await. Stephen создает собственную реализацию async/await с нуля и объясняет каждый шаг🔥

📺 Смотреть
Please open Telegram to view this post
VIEW IN TELEGRAM
👍36🔥194👏1🌚1
💡В .NET 6 представлен новый метод Enumerable TryGetNonEnumeratedCount

Он опредяет количество элементов в последовательности без необходимости принудительной итерации по ней.

Особенно полезно для IQueryable, когда при вызове метода Count вы не хотите выполнять полный запрос.

#csharp #dotnet #tip by Oleg Kyrylchuk
Please open Telegram to view this post
VIEW IN TELEGRAM
👍39🔥12🥰2
🤔 Может ли модификатор readonly ускорить код?

Модификатор readonly — это ключевое слово в C#, которое можно применять к полям. Когда поле помечено как readonly, это означает, что ему можно присвоить значение только во время объявления или в конструкторе класса. Steven Giesel разбирается, как readonly влияет на производительность.

👉 TLDR
Выигрыш в производительности есть, но он незначительный. Основная причина использования readonly полей — сделать код более надежным и сопровождаемым, а не быстрым.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍37
🧰 MSBuild Structured Log Viewer — расширение VS Code для просмотра структурированных логов MS Build, которое отображает содержимое бинарных файлов логов MSBuild (.binlog) в виде дерева.

👉 Ключевые фичи:

Множественный поиск по одному binlog
Возможность добавлять закладки для записей лога при изучении binlog
Открытие длинных записей лога во вкладках редактора

📦 Скачать
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6👏6🔥1
Забавно, что .NET Aspire еще находится в предварительной версии, а некоторые вакансии уже требуют опыт работы...
😁134🌚10🤔3🔥2
🦾🧠🏋️Качаем мозги к лету!

Курс «Алгоритмы и структуры данных» для тех, кто хочет научиться работать с алгоритмами, подготовиться к собеседованию крупную IT-компанию и начать брать более сложные проекты.

➡️ Алгоритмы и структуры данных 35 990 ₽ 21 594

⭐️ Переходите и активируйте бесплатные вводные занятия курсаhttps://proglib.io/w/da6727d1

Вас ждут:

– 150 практических заданий и 47 видеолекций

– бессрочный доступ к обучению

– поддержка преподавателя в чате

А также очень харизматичный спикер из Яндекса 🙌🏻
😁41
rider.pdf
32.9 KB
👩‍💻 JetBrains Rider: советы и трюки

Dan Clarke, разработчик и популярный ютубер, делится полезными шорткатами для управления IDE и кодом.

📺 Смотреть
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🥱8👏2
💬 Удается ли вам отдыхать вне работы?

👍 — да, почти всегда
🙏 — да, иногда
🤔 — нет, всегда работа в голове
🥱 — какой отдых? Я же айтишник

#холивар
👍96🥱81🤔57👏10😁4
💡 Атрибут [MemberNotNullWhen] помогает компилятору указать, при каких условиях указанное поле или свойство не имеет значения NULL, что улучшает статический анализ кода.

#csharp #tip by Łukasz Żabski
Please open Telegram to view this post
VIEW IN TELEGRAM
👍55
👌 Рефакторинг C#-кода с помощью primary constructors

Primary constructors позволяют уменьшить количество шаблонного кода. Узнайте подробнее об инструментах рефакторинга в Visual Studio и VS Code с помощью нового синтаксиса, представленного в C# 12/.NET 8.

👉 Читать
🥱34👍20🤔3👾1
🧰EntityFrameworkCore.Exceptions.PostgreSQL — инструмент для обработки ошибок базы данных при работе с Entity Framework Core. Поддерживает SQLServer, PostgreSQL, SQLite, Oracle и MySql.

При использовании EF Core для доступа к данным все исключения БД оборачиваются в DbUpdateException. Если вам нужно выяснить, было ли исключение вызвано уникальным ограничением, слишком длинным значением или отсутствием значения для обязательного столбца, вам нужно будет изучить конкретный экземпляр подкласса DbException и проверить код ошибки, чтобы определить точную причину.

EntityFramework.Exceptions упрощает это, обрабатывая все специфичные для базы данных детали и выбрасывая разные исключения. Всё, что вам нужно сделать, это настроить DbContext, вызвав UseExceptionProcessor, и обработать такие исключения, как UniqueConstraintException, CannotInsertNullException, MaxLengthExceededException, NumericOverflowException, ReferenceConstraintException.

В случае UniqueConstraintException и ReferenceConstraintException вы можете получить имя связанного ограничения с помощью свойства ConstraintName. ConstraintProperties будет содержать свойства, которые являются частью ограничения.

📦 NuGet
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍55🤔61🥱1