Операторы
Оператор
is
и as
применяются для выполнения проверки или преобразования типов. При этом оператор is
проверяет, совместим ли тип среды выполнения для определенного выражения с указанным типом, а также проверяет соответствие результата выражения указанному шаблону (с версии C# 7.0). Например, выражение E is T
возвращает true
, если результат выражения E
отличен от NULL и может быть преобразован в тип T
. В противном случае он возвращает false
.Оператор
as
явным образом преобразует результат выражения в указанный ссылочный или поддерживающий значения NULL тип. Если такое преобразование невозможно, оператор as
возвращает значение NULL. Кроме того, оператор as
никогда не создает исключение.Отличная статья, которая поможет закрыть пробелы в понимании внедрения зависимостей в C#: https://proglib.io/w/44033d04
Dot Net Tutorials
Dependency Injection Design Pattern in C#
In this article, I am going to discuss the Dependency Injection Design Pattern in C# with examples. Dependency Injection is a process in which
Основы обеспечения безопасности приложений Blazor WebAssembly с помощью Auth0, в частности процесса аутентификации и авторизации.
https://proglib.io/w/4a2acdec
https://proglib.io/w/4a2acdec
Auth0 - Blog
How to Secure Blazor WASM Applications with Auth0
Learn how to secure Blazor WebAssembly applications with Auth0.
Многие слышали про отличный курс факультета веб-разработки GeekBrains. Но не всем по душе корпеть над базами данных и разбираться в бэкенде. Хочется сразу видеть результат 👀
Для интересующихся фронтендом открылась возможность поступить на факультет Frontend-разработки. Практикующие специалисты со стажем учат всему, что нужно: адаптивно верстать, кроить веб-приложения, понимать Vue и React, использовать концепции Flux и Redux, работать с Node.js и Git. ➕ 5 проектов в портфолио.
Самое классное, что это не просто обучение «для галочки» ✅, а университет с гарантированным трудоустройством 💸. Интересно? Смотрите сами: https://proglib.io/w/7bed040d
Для интересующихся фронтендом открылась возможность поступить на факультет Frontend-разработки. Практикующие специалисты со стажем учат всему, что нужно: адаптивно верстать, кроить веб-приложения, понимать Vue и React, использовать концепции Flux и Redux, работать с Node.js и Git. ➕ 5 проектов в портфолио.
Самое классное, что это не просто обучение «для галочки» ✅, а университет с гарантированным трудоустройством 💸. Интересно? Смотрите сами: https://proglib.io/w/7bed040d
#вопросы_для_самопроверки
Для чего в C# используются методы Dispose() и Finalize()? В чем их разница?
Для чего в C# используются методы Dispose() и Finalize()? В чем их разница?
Методы dispose() и finalize() используются для освобождения неуправляемых ресурсов, удерживаемых объектом.
Метод dispose() определен внутри интерфейса IDisposable, тогда как метод finalize() определен внутри объекта класса. Основное различие между ними заключается в том, что метод dispose() должен явно вызываться пользователем, тогда как метод finalize() вызывается сборщиком мусора непосредственно перед уничтожением объекта.
Метод dispose() определен внутри интерфейса IDisposable, тогда как метод finalize() определен внутри объекта класса. Основное различие между ними заключается в том, что метод dispose() должен явно вызываться пользователем, тогда как метод finalize() вызывается сборщиком мусора непосредственно перед уничтожением объекта.
Внимание-внимание! Мы торжественно объявляем о старте регионального этапа конкура для IT-специалистов "Цифровой Прорыв 2020"! 🚀
С середины августа по середину ноября вас ожидают сразу 8 командных хакатонов в ключевых региональных IT-хабах страны. 🌏
Для решения актуальных кейсов от топовых IT-компаний мы ожидаем до 280 команд в каждом регионе, а общий призовой фонд этапа составит 24.000.000 ₽! 🏆
Прояви себя в "цифре" - выбирай любой понравившйся хакатон (пока еще есть места), регистрируйся, собирай или вступай в команду и стань частью цифрового будущего России! 💫
Подробности: https://leadersofdigital.ru/
С середины августа по середину ноября вас ожидают сразу 8 командных хакатонов в ключевых региональных IT-хабах страны. 🌏
Для решения актуальных кейсов от топовых IT-компаний мы ожидаем до 280 команд в каждом регионе, а общий призовой фонд этапа составит 24.000.000 ₽! 🏆
Прояви себя в "цифре" - выбирай любой понравившйся хакатон (пока еще есть места), регистрируйся, собирай или вступай в команду и стань частью цифрового будущего России! 💫
Подробности: https://leadersofdigital.ru/
Изучаем или восстанавливаем пробелы в C# за 7 минут: https://proglib.io/w/df089ca8
YouTube
Learn to Program with C# in 7 Minutes
Learn in 3.5 min by playing 2x speed!
0:00 Intro
0:07 Variables
0:29 Types
0:59 Operators
1:53 If Statement
2:15 While Loop
2:44 For Loop
3:22 Functions
4:17 Classes
5:08 Access Modifiers
5:48 Static
6:21 Libraries
6:40 Ending
Support us: https://www.p…
0:00 Intro
0:07 Variables
0:29 Types
0:59 Operators
1:53 If Statement
2:15 While Loop
2:44 For Loop
3:22 Functions
4:17 Classes
5:08 Access Modifiers
5:48 Static
6:21 Libraries
6:40 Ending
Support us: https://www.p…
Сопоставление с шаблоном в C# предоставляет возможность, которая помогает разработчикам писать функциональный код более естественно. В этой статье описывается сопоставление с шаблоном и как его использовать в C# 8.
https://proglib.io/w/d162ba7a
https://proglib.io/w/d162ba7a
Medium
Evolution of Pattern Matching up until C# 8.0
C# pattern matching finally brings another functional feature that will help C# developers write functional code more naturally.
Разбираемcя с интерфейсами для работы с конфигурациями в C#: IOptions, IOptionsSnapshot и IOptionsMonitor.
https://proglib.io/w/c6f62b14
https://proglib.io/w/c6f62b14
Хабр
IOptions и его друзья
Во время разработки часто возникает потребность для вынесения параметров в конфигурационные файлы. Да и вообще — хранить разные конфигурационный константы в коде...
#вопросы_для_самопроверки
Что такое сборка (assembly) с точки зрения .NET? Как она связана с пространством имен (namespace)?
Что такое сборка (assembly) с точки зрения .NET? Как она связана с пространством имен (namespace)?
Сборки — это файлы с расширениями *.dll или *.exe, которые содержат независимые от платформы .NET инструкции на промежуточном языке (Intermediate Language — IL), а также метаданные типов.
Сборка создается с помощью .NET компилятора.
Сборка предназначена для сохранения пространств имен (namespaces). Пространства имен содержат типы, которыми могут быть классы, делегаты, интерфейсы, перечисления, структуры.
Сборка может содержать любое количество пространств имен. Любое пространство имен может содержать любое количество типов (классов, интерфейсов, структур, перечислений, делегатов).
Сборка создается с помощью .NET компилятора.
Сборка предназначена для сохранения пространств имен (namespaces). Пространства имен содержат типы, которыми могут быть классы, делегаты, интерфейсы, перечисления, структуры.
Сборка может содержать любое количество пространств имен. Любое пространство имен может содержать любое количество типов (классов, интерфейсов, структур, перечислений, делегатов).
В IT хотят если не все, то многие — спрос на специалистов остался высоким, несмотря на пандемию, а курсов и образовательных программ для разработчиков, тестировщиков, менеджеров и дизайнеров становится все больше. Как научиться в IT, чем отличаются курсы компаний, как выбрать среди них подходящий и есть ли курсы с гарантированным оффером для выпускников — Ozon, «Яндекс.Практикум», «Школа 21», «Тинькофф» и GeekBrains рассказывают в статье на Хабре: https://habr.com/ru/company/ozontech/blog/512026/.
А мы решили выяснить, откуда берутся разработчики! Как вы пришли в IT? Расскажите — ответы на вопросы займут чуть больше 2 минут (мы посчитали): https://forms.gle/VUDJJ5zeeieL2PRN9
А мы решили выяснить, откуда берутся разработчики! Как вы пришли в IT? Расскажите — ответы на вопросы займут чуть больше 2 минут (мы посчитали): https://forms.gle/VUDJJ5zeeieL2PRN9
Хабр
Как Ozon, Тинькофф, Яндекс.Практикум, Школа 21 и GeekBrains учат разработчиков
Мы собрали руководителей образовательных проектов «Тинькофф», «Яндекс.Практикума», «Школы 21» и GeekBrains, позвали нашего CTO Антона Степаненко и хедхантера Алену Владимирскую и поговорили о том,...
Реализация аутентификации и регистрации пользователей с помощью ASP.NET Core и Identity.UI.
https://proglib.io/w/c6d67457
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
Ни для кого не секрет, что для реализации простых задач C# имеет тенденцию быть немного излишним.
Dotnet-script — это проект, направленный на исправление этой проблемы. Он позволяет запускать код C# в виде одного файла сценария, без метода Main, .csproj и т. д.
Запустите сценарии C# из .NET CLI, определите встроенные пакеты NuGet и отредактируйте / отладьте их в VS Code — все это с полной поддержкой языковых сервисов от OmniSharp.
https://proglib.io/w/8b29da0f
DEV Community
C# Scripting using dotnet-script
Originally posted on my blog at elliotdenolf.com C# is an extremely powerful language but for smal...
Оцениваем работу с LINQ в C# с точки зрения производительности: https://proglib.io/w/70717acc
Medium
Is Using LINQ in C# Bad for Performance?
Short answer: not really.
С# не поддерживает множественное наследование классов, но поддерживает наследование от нескольких интерфейсов.
С помощью интерфейсов можно, например, включить в класс поведение из нескольких источников. Кроме того, необходимо использовать интерфейс, если требуется имитировать наследование для структур, поскольку они не могут фактически наследовать от другой структуры или класса.
С помощью интерфейсов можно, например, включить в класс поведение из нескольких источников. Кроме того, необходимо использовать интерфейс, если требуется имитировать наследование для структур, поскольку они не могут фактически наследовать от другой структуры или класса.
Практический гайд для начинающих по работе с консольным вводом в C#: https://proglib.io/w/2082b541
Gist
Beginner's Guide To Console Input In C#
Beginner's Guide To Console Input In C#. GitHub Gist: instantly share code, notes, and snippets.