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

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

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

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

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

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

C# 8 – Ссылочные типы, допускающие значение null

C# logoИзначально ссылочные типы в C# всегда допускали использование значения null. Однако 8 версия языка в корне меняет этот подход. Теперь переменные ссылочных типов могут явно указывать допустимо ли присваивать им значение null. В этом плане их поведение становится аналогичным значимым типам. Разберемся с этим нововведением подробнее.

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

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

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

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

Использование асинхронных потоков на практике

C# logoОдна из новых возможностей C# 8 – асинхронные потоки. Рассмотрим на примере как её использование может улучшить уже существующий код.

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

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

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

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

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

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

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

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

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

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

C# 8 – Сопоставление с образцом в switch

C# logo Операция сопоставления с образцом (pattern matching) и её поддержка в конструкции switch появилась еще в C# 7. В восьмой версии языка не только расширился список образцов, доступных для использования разработчиками, но и изменилась форма записи switch. Рассмотрим обновленный синтаксис конструкции и варианты образцов.

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

C# 8 – using в объявлении переменных

C# logoОдно из нововведений в C# 8 – это возможность использовать ключевое using в объявлении переменных. Давайте разберемся для чего это необходимо и как работает такой код.

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