Andrey on .NET | Все записи отмеченные как 'C# 7'

C# 7 – Локальные методы

C# logoИногда методы используются только в одном другом методе. Раньше, в этом случае, в класс добавлялся новый private метод, который доступен всему классу. В C# 7 есть возможность объявлять такие методы внутри самих методов, одновременно ограничивая их видимость.

Читать дальше...

C# 7 – Деконструкция

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

Читать дальше...

C# 7 – Сопоставление с образцом (pattern matсhing)

C# logoОдно из самых интересных нововведений С# 7 – это появление понятия образца (pattern) и операций сопоставления тестируемого значения с образцом (pattern matсhing). Их использование позволяет писать более компактный и, одновременно, удобный для чтения и понимания код.

Читать дальше...

C# 7 – Выходные параметры методов

C# logo В C# 7 стало удобнее использовать методы, сигнатура которых содержит выходные параметры. Если раньше для них было необходимо заранее объявлять все переменные, которые будут использоваться в вызове, то с новыми возможностями языка код становится более компактным и понятным.

Читать дальше...

C# 7 – Кортежи (обновленный тип Tuple)

C# logo
Одно из улучшений C# 7 коснулось работы с кортежами, которые представлены типом Tuple. Ранее их использование было не очень популярно по двум причинам:
  • относительная громоздкость конструкции;
  • низкая читабельность кода из-за стандартных, ни о чем не говорящих имен свойств Item1ItemN.
Зачастую вместо Tuple создавался отдельный класс, что увеличивало объем кода. В других случаях использовались выходные параметры (out), но это делало сами методы неудобными для использования. С# 7 устраняет указанные недостатки. Для примера возьмем код с Tuple и улучшим его:

Читать дальше...