Библиотека шарписта | 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
Операторы is и as применяются для выполнения проверки или преобразования типов. При этом оператор is проверяет, совместим ли тип среды выполнения для определенного выражения с указанным типом, а также проверяет соответствие результата выражения указанному шаблону (с версии C# 7.0). Например, выражение E is T возвращает true, если результат выражения E отличен от NULL и может быть преобразован в тип T. В противном случае он возвращает false.

Оператор as явным образом преобразует результат выражения в указанный ссылочный или поддерживающий значения NULL тип. Если такое преобразование невозможно, оператор as возвращает значение NULL. Кроме того, оператор as никогда не создает исключение.
Основы обеспечения безопасности приложений Blazor WebAssembly с помощью Auth0, в частности процесса аутентификации и авторизации.

https://proglib.io/w/4a2acdec
Многие слышали про отличный курс факультета веб-разработки GeekBrains. Но не всем по душе корпеть над базами данных и разбираться в бэкенде. Хочется сразу видеть результат 👀

Для интересующихся фронтендом открылась возможность поступить на факультет Frontend-разработки. Практикующие специалисты со стажем учат всему, что нужно: адаптивно верстать, кроить веб-приложения, понимать Vue и React, использовать концепции Flux и Redux, работать с Node.js и Git. 5 проектов в портфолио.

Самое классное, что это не просто обучение «для галочки» , а университет с гарантированным трудоустройством 💸. Интересно? Смотрите сами: https://proglib.io/w/7bed040d
#вопросы_для_самопроверки

Для чего в C# используются методы Dispose() и Finalize()? В чем их разница?
Методы dispose() и finalize() используются для освобождения неуправляемых ресурсов, удерживаемых объектом.

Метод dispose() определен внутри интерфейса IDisposable, тогда как метод finalize() определен внутри объекта класса. Основное различие между ними заключается в том, что метод dispose() должен явно вызываться пользователем, тогда как метод finalize() вызывается сборщиком мусора непосредственно перед уничтожением объекта.
Внимание-внимание! Мы торжественно объявляем о старте регионального этапа конкура для IT-специалистов "Цифровой Прорыв 2020"! 🚀

С середины августа по середину ноября вас ожидают сразу 8 командных хакатонов в ключевых региональных IT-хабах страны. 🌏

Для решения актуальных кейсов от топовых IT-компаний мы ожидаем до 280 команд в каждом регионе, а общий призовой фонд этапа составит 24.000.000 ₽! 🏆

Прояви себя в "цифре" - выбирай любой понравившйся хакатон (пока еще есть места), регистрируйся, собирай или вступай в команду и стань частью цифрового будущего России! 💫

Подробности: https://leadersofdigital.ru/
Сопоставление с шаблоном в C# предоставляет возможность, которая помогает разработчикам писать функциональный код более естественно. В этой статье описывается сопоставление с шаблоном и как его использовать в C# 8.

https://proglib.io/w/d162ba7a
#вопросы_для_самопроверки

Что такое сборка (assembly) с точки зрения .NET? Как она связана с пространством имен (namespace)?
Сборки — это файлы с расширениями *.dll или *.exe, которые содержат независимые от платформы .NET инструкции на промежуточном языке (Intermediate Language — IL), а также метаданные типов.
Сборка создается с помощью .NET компилятора.

Сборка предназначена для сохранения пространств имен (namespaces). Пространства имен содержат типы, которыми могут быть классы, делегаты, интерфейсы, перечисления, структуры.

Сборка может содержать любое количество пространств имен. Любое пространство имен может содержать любое количество типов (классов, интерфейсов, структур, перечислений, делегатов).
В IT хотят если не все, то многие — спрос на специалистов остался высоким, несмотря на пандемию, а курсов и образовательных программ для разработчиков, тестировщиков, менеджеров и дизайнеров становится все больше. Как научиться в IT, чем отличаются курсы компаний, как выбрать среди них подходящий и есть ли курсы с гарантированным оффером для выпускников — Ozon, «Яндекс.Практикум», «Школа 21», «Тинькофф» и GeekBrains рассказывают в статье на Хабре: https://habr.com/ru/company/ozontech/blog/512026/.

А мы решили выяснить, откуда берутся разработчики! Как вы пришли в IT? Расскажите — ответы на вопросы займут чуть больше 2 минут (мы посчитали): https://forms.gle/VUDJJ5zeeieL2PRN9
Реализация аутентификации и регистрации пользователей с помощью ASP.NET Core и Identity.UI.

https://proglib.io/w/c6d67457
Запуск сценариев C# с использованием dotnet-script

Ни для кого не секрет, что для реализации простых задач C# имеет тенденцию быть немного излишним.

Dotnet-script — это проект, направленный на исправление этой проблемы. Он позволяет запускать код C# в виде одного файла сценария, без метода Main, .csproj и т. д.

Запустите сценарии C# из .NET CLI, определите встроенные пакеты NuGet и отредактируйте / отладьте их в VS Code — все это с полной поддержкой языковых сервисов от OmniSharp.

https://proglib.io/w/8b29da0f
Оцениваем работу с LINQ в C# с точки зрения производительности: https://proglib.io/w/70717acc
#вопросы_для_самопроверки

Поддерживает ли C# множественное наследование?
С# не поддерживает множественное наследование классов, но поддерживает наследование от нескольких интерфейсов.

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