Обновить
5
0
Алексей Ягур@Lexo

Пастух котов

Отправить сообщение

Делегаты и с чем их едят

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели20K

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

Определение: Делегат - это переменная ссылочного типа, которая может хранить ссылку на метод.

Типобезопасность: Делегаты очень конкретны в том, на что они могут ссылаться. При попытке использовать делегат, предназначенный для ссылки на метод, принимающий целое число и возвращающий строку с методом, который принимает строку и возвращает целое число программа даже не скомпилируется.

Синтаксис: Аналогичен объявлению метода в интерфейсе, за исключением того, что требует ключевое слово delegate.

Представьте, что у нас есть спутниковая система, обрабатывающая космические данные от далеких звезд. После обработки данных системе необходимо уведомить базовую станцию на Земле.

Читать далее

Принципы ООП в примерах для начинающих

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели168K

Как создатель и руководитель курсов по C# я вижу, что часто у людей, начинающих изучать этот язык, принципы Объектно-Ориентированного Программирования вызывают затруднения в понимании. А так как один из лучших способов что-то понять, это посмотреть применение на примерах, то я решил написать статью с примерами принципов. Рекомендую найти какую-нибудь статью или книгу, где прочитать основную теорию, а в этой статье уже посмотреть примеры применения этой теории, чтобы понять её лучше.

На текущий момент есть различные точки зрения на то, сколько же в ООП всё-таки принципов и в этой статье мы будем считать, что этих принципов четыре: Инкапсуляция, Наследование, Полиморфизм и Абстракция. Примеры будут приведены на языке C#, однако, они очень простые, да и сама суть не зависит от языка, поэтому будет полезна всем начинающим изучать ООП программистам.

Читать далее

Топ 10 самых распространенных ошибок в использовании юнит-тестов

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели8.6K

Иногда из-за нашей лени, невнимательности или чего-либо ещё получается неполный охват тестами всех важных сценариев, крайних случаев и потенциальных ошибок. Представим, что у нас есть очень простой класс Calculator, который умеет делать сложение:

Читать далее

Преимущества изучения C# для начинающих программистов

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели16K

Приветствую, дорогой хаброжитель! В этой статье я расскажу тебе про прекрасный мир C# (произносится "Си-шарп"). Если ты новичок в программировании или только хочешь начать свое путешествие с C#, у меня есть десять отличных фактов про этот язык, с помощью которых я попробую доказать, что язык C# должен стать твоим основным языком программирования.

Читать далее

Record structs в C#: эффективные и безопасные типы данных

Время на прочтение3 мин
Охват и читатели22K

C# 9 представил новую функцию, называемую Запись (record), которая обеспечивает неизменяемость и семантику сравнения на основе значений для классов. Записи упрощают создание типов данных и обеспечивают лучшую безопасность при работе с ними. Однако до C# 10 они были доступны только для классов, теперь же у нас есть record struct, позволяющие применить те же преимущества Записей и к структурам.

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

Читать далее

Расширенные шаблоны свойств

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели4.4K

Язык C# постоянно развивается и в одной из последних версий появились расширенные шаблоны свойств, которые расширяют мощь и универсальность конструкции switch. В этой статье мы рассмотрим расширенные шаблоны свойств в C# 10.0 на практических примерах и замечаниях о том, как эффективно использовать эти расширенные шаблоны в своих проектах.

Читать далее

Синтаксис запросов LINQ — недооцененный инструмент для разработчиков C#

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели23K

Как вы наверняка знаете, LINQ (Language Integrated Query) - это очень мощный и гибкий язык, встроенный в C# и существует он начиная аж с .NET Framework 3.5. Однако, несмотря на свои возможности, синтаксис запросов часто игнорируется в пользу более популярного аналога - синтаксиса методов. Хотя синтаксис методов действительно мощный, в этой статье я на практических примерах покажу преимущества query-синтаксиса и его полезность для опытных разработчиков на C#.

Читать далее

Различия между C# и другими языками программирования: яблоки, апельсины и немного C-Sharp

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели24K

Привет, хабражитель! Ты когда-нибудь задумывался, почему C# такой особенный по сравнению с другими языками программирования? Если нет (и если да), то приготовься, потому что сейчас мы погрузимся в различия между C# и самыми популярными его языковыми "братьями": C++, Java, Python и JavaScript. Надеюсь, что это сравнение лучше поможет лучше понять роль и место C#, а также то, что это лучший язык в мире (шучу). Ладно, вперед к сравнениям!

Читать далее

6 вещей, которые не стоит делать в ASP.NET контроллерах

Время на прочтение4 мин
Охват и читатели13K

«Ваши .NET контроллеры должны быть тонкими»

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

Почему они должны быть тонкими? Какой в этом плюс? Как сделать их тонкими, если они сейчас не такие? Как сохранить их тонкими?

Мне интересно!

Информация

В рейтинге
Не участвует
Работает в
Зарегистрирован
Активность