Информация об изменениях

Сообщение Re: C# 8 - фича №1 от 03.12.2019 12:19

Изменено 03.12.2019 12:22 alexzzzz

Re: C# 8 - фича №1
Здравствуйте, Shmj, Вы писали:

S>Что из этого списка вы бы назвали наиболее важным и полезным: https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-8


Важное и полезное — вещи субъективные. Объективно самое большое изменение — Nullable reference types, в силу масштабов проделанной работы и возможных последствий для экосистемы в целом.

Чем точно буду пользоваться:
— Using declarations — код опрятнее
— Static local functions — сначала не понимал смысла локальных функций, потом проникся; по сути большинство моих локальных функций — static
— Null-coalescing assignment — периодически хотелось, а теперь сможется
— Switch expressions — наверно треть моих switch — выражения
— Unmanaged constructed types — один раз точно очень хотелось, но не было возможности

Вероятно пригодятся:
— Stackalloc in nested expressions — сам stackalloc периодически использую
— Readonly members — знаю где применить, но пока неясно, насколько будет видна польза
— Enhancement of interpolated verbatim strings — убрали лишнюю путаницу

Хочется попробовать и посмотреть, что получится:
— Nullable reference types

Вещи утилитарные, не для широкого круга
— Disposable ref structs
— Default interface methods — хотя объявлять static void Main() внутри интерфейса прикольно, класс для Main ничем не лучше

Скорее всего, пройдёт мимо меня, но может зацепить:
— Pattern matching enhancements: ... — из всего предыдущего пока зацепило только is type pattern expression.

Скорее всего, пройдёт мимо:
— Asynchronous streams

--
Из всех новых фич мне непонятна только одна: Indices and ranges. А именно, какую проблему пытались решить?
Re: C# 8 - фича №1
Здравствуйте, Shmj, Вы писали:

S>Что из этого списка вы бы назвали наиболее важным и полезным: https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-8


Важное и полезное — вещи субъективные. Объективно самое большое изменение — Nullable reference types, в силу масштабов проделанной работы и возможных последствий для экосистемы в целом.

Чем точно буду пользоваться:
— Using declarations — код опрятнее
— Static local functions — сначала не понимал смысла локальных функций, потом проникся; по сути большинство моих локальных функций — static
— Null-coalescing assignment — периодически хотелось, а теперь сможется
— Switch expressions — наверно треть моих switch — выражения
— Unmanaged constructed types — один раз точно очень хотелось, но не было возможности

Вероятно пригодятся:
— Stackalloc in nested expressions — сам stackalloc периодически использую
— Readonly members — знаю где применить, но пока неясно, насколько будет видна польза
— Enhancement of interpolated verbatim strings — убрали лишнюю путаницу

Хочется попробовать и посмотреть, что получится:
— Nullable reference types

Вещи утилитарные, не для широкого круга:
— Disposable ref structs
— Default interface methods — хотя объявлять static void Main() внутри интерфейса прикольно, класс для Main ничем не лучше

Скорее всего, пройдёт мимо меня, но может зацепить:
— Pattern matching enhancements: ... — из всего предыдущего пока зацепило только is type pattern expression.

Скорее всего, пройдёт мимо:
— Asynchronous streams

--
Из всех новых фич мне непонятна только одна: Indices and ranges. А именно, какую проблему пытались решить?