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

Сопоставление с образцом не является новой возможностю. Оно появилось еще в C# 7 и было улучшено в C# 8. В 9 версии языка появились новые образцы, которые расширяют возможности сопоставлений и делают их более удобными для чтения. [Ещё]

C# 9 – Записи (record). Особенности использования

В C# 9 был добавлен новый ссылочный тип – записи (record), основные свойства которого были рассмотрены в прошлой части. А теперь речь пойдет об особенностях его использования. [Ещё]

C# 9 – Метод init для доступа к свойству класса

До C# 9 в языке поддерживалось только два типа методов доступа к свойствам класса: get и set. Теперь появился еще один – init. Он позволяет создавать удобные конструкции для инициализации экземпляра класса, при этом делая свойства неизменяемыми. Разберемся подробнее. [Ещё]

C# 8 – Новые возможности

В этой статье будут рассмотрены небольшие изменения, появившиеся в 8 версии языка C#: статические локальные функции, члены структур, не изменяющие их состояние, неуправляемые обобщенные структуры, присваивание при значении null, stackalloc во вложенных выражениях, улучшенная интерполяция строк. [Ещё]

C# 8 – Освобождение ресурсов

Среди всех новых возможностей C# 8, две из них относятся к достаточно актуальной теме освобождения ресурсов. Теперь конструкция using может использоваться асинхронно и для части структур. [Ещё]

Использование C# 8 в .NET 4.7, 4.8 и .NET Core 2.x

После выхода C# 8 все его возможности были доступны только в проектах совместимых с .NET Standard не ниже версии 2.1. Соответственно, разрабатываемое приложение должно быть нацелено на .NET Core 3.0 и выше. Однако теперь новые возможности языка можно использовать и в проектах для .NET 4.7.x, 4.8, а также для предыдущих версий .NET Core. Более того, для сборки, при необходимости, может использоваться Visual Studio 2017. [Ещё]

C# 8 – Асинхронные потоки

C# 8 принес ряд очень интересных нововведений. Одним из них является поддержка асинхронных потоков (async streams). Давайте посмотрим что это такое, а также разберемся как они создаются и используются. [Ещё]

C# 8 – Реализация по-умолчанию для метода интерфейса

Среди нововведений C# 8 есть одно, которое можно назвать неоднозначным. Это возможность определить реализацию по-умолчанию для метода интерфейса. Рассмотрим её синтаксис, варианты использования, а также какие потенциальные проблемы могут возникнуть из-за её применения. [Ещё]

C# 8 – Индексы и диапазоны

Начиная с 8 версии языка C#, разработчикам доступно использование диапазонов и индексов. В ряде случае это упрощает код и делает его более читабельным. [Ещё]