Библиотека шарписта | 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
#dotnet #csharp #tip by Milan Jovanović

Expression body конструкторы в C# 7+ для сокращения кода

Определение тела выражения для конструктора обычно состоит из одного выражения присваивания или вызова метода, который обрабатывает аргументы конструктора или инициализирует состояние экземпляра.
🌚21👍16🤔4
Хоть C# и является доминирующим языком в мире .NET, у F# есть несколько отличительных особенностей, которых нет в последнем.

А что, если воспользоваться преимуществами обоих языков? Читайте подробнее в заметке Steven Giesel👇

Читать
👍10🥱1
#infographic

💡LINQ Mind Map: на заметку C#-разработчику
55👍20❤‍🔥2👏2
Когда вы пишете библиотеку .NET, вам может понадобиться использовать несколько target framework monikers (TFM). Например, вы можете настроить таргетинг на .NET 6 и .NET Standard 2.0.

Это позволяет вашей библиотеке использоваться бОльшим количеством приложений. Ориентируясь на последнюю поддерживаемую платформу, вы также можете использовать Nullable Reference Types.

Microsoft MVP Gérald Barré делится опытом написания библиотек, предназначенных для нескольких TFM, с помощью полифиллов.
👍42
👀 Следите за обновлениями:

🔸 Что нового в Blazor для .NET 8: о предстоящих функциях/улучшениях Blazor и текущих разработках
🔸 Что нового и что дальше для разработчиков .NET MAUI: об использовании .NET MAUI для создания нативных кроссплатформенных приложений
🔸Новые возможности Visual Studio, которые вам понравятся: о новой версии IDE и любимых функциях/улучшениях команды Visual Studio и .NET
🔸 Разработка доступных приложений с помощью Visual Studio: о преимуществах IDE для разработки доступных приложений
🔸 Создание Power Apps с помощью .NET и Azure API Management — комплексное решение: об использовании всего потенциала Azure API Management, .NET и Power Apps для создания надежных, масштабируемых и безопасных приложений
🔸 Используйте GitHub по максимуму, чтобы подготовить свои проекты к успеху: об использовании всех возможностей GitHub из IDE
🔸 Будущее развития — искусственный интеллект и облако: об использовании Microsoft Dev Box и Azure Deployment Environments, а также Visual Studio, VS Code и GitHub Copilot для повышения производительности
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
#холивар

К сертификации в айти-сфере работодатели относятся по-разному. Кто-то уверен, что это лучший способ доказать свою профпригодность, а другие не видят в них никакой практической ценности.

🤷‍♂️ Некоторые работодатели приветствуют желание разработчиков развиваться и оплачивают сертификаты.

💬 А у вас такое практикуется? Если бы у вас была возможность получить любой сертификат, какой выберете?
👍4
Программное создание токенов Shared Access Signature в .NET для повышения безопасности хранилища BLOB-объектов Azure: гайд для C#-разработчика.

Читать
👍5
#dotnet #csharp #tip by Dave Callan

📌 При проверке равенства строк без учета регистра используйте string.Equals с OrdinalIgnoreCase вместо ToLower/ToUpper.

💡Это значительно повышает читабельность и производительность кода.
👍873🔥3🥱2🥰1
📖 ТОП-10 книг по C# в 2023 году: от новичка до профессионала

Обзор книг по языку программирования C# и Unity на русском языке.

🔗 Читать статью
🔗 Зеркало
👍30🥱7🌚42🥰2
Hosted services в .NET — это, по сути, фоновые задачи, запускаемые хостом, которые выполняют работу приложения. До .NET 8 код, который запускает и останавливает hosted services, делал это последовательно. Каждый IHostedService, зарегистрированный в DI контейнере, запускается последовательно путем вызова метода StartAsync для экземпляра.

Для тех разработчиков, у которых возникли проблемы с существующим поведением, есть хорошие новости! В .NET 8 мы получаем две новые опции, которые позволяют нам переключаться на конкурентный запуск и/или остановку.

Для этого просто настройте HostOptions и установите для одного или обоих новых свойств значение true, чтобы включить конкурентную логику для запуска или остановки любых зарегистрированных IHostedServices. Полный гайд читайте в статье👇

Читать
13👍8
Знаете ли вы, что последние несколько дней происходит вокруг фреймворка Moq? Кстати, количество его установок превышает цифру в 25 миллионов. И это только про предыдущую версию.

📌 Если вкратце, то:

🔸В какой-то момент поддержка проекта Moq стала несостоятельной.
🔸В январе мейнтейнер Moq написал об инструменте SponsorLink, который собирает адреса электронной почты GitHub и хэширует их, а также пытается запросить спонсорство в IDE, если пользователь еще не спонсирует его.
🔸В апрельском выпуске было указано, что это — не лучший подход с точки зрения конфиденциальности и GDPR. В то время автор не воспринимал эти претензии.
🔸В этом месяце автор реализовал этот инструмент в релизе, и многие люди (по понятным причинам) были застигнуты врасплох, когда сделали обновление.

💬А на чьей вы стороне? С одной стороны, автор вложил в проект много лет, так и не получив нормального спонсорства. С другой, к конфиденциальности все-таки есть вопросы.

Так или иначе, в этой фразе очень много смысла: «Вы можете ожидать чего-то от проекта с открытым исходным кодом в той мере, в какой вы вносите свой вклад в этот проект или готовы помочь. Все остальное должно быть благодарностью».

👍 — я на стороне автора moq 
🌚 — как бы там ни было, конфиденциальность нарушать нельзя
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚135👍225