Let's explore C#8,9 together.
Just click "launch binder" and you ready to go.
Prerequisites:
- "ms-vscode-remote.vscode-remote-extensionpack" is installed.
- Open a new instance of vscode and run command palette command:
"Remote Containers: Clone Repository in Container Volume"- ("command": "remote-containers.openRepositoryInVolume")
- Select GitHub and enter NikiforovAll/csharp_workshop
Clone repository and investigate on your own.
notebooks\nullable-reference-types.ipynbsamples\scripts\nullable-reference-types.csxnotebooks\functions-misc.ipynbsamples\scripts\null-coalescing-assignment.csxsamples\scripts\static-local-functions.csxsamples\scripts\static-anonymous-functions.csxsamples\scripts\lambda-discards.csxnotebooks\async-streams.ipynbsamples\projects\get-enumerator-foreachnotebooks\ranges-indexes.ipynbnotebooks\using-declarations.ipynbnotebooks\pattern-matching.ipynbsamples\scripts\pattern-matching\pattern-matching-demo1.csxsamples\scripts\pattern-matching\pattern-matching-demo2.csxnotebooks\records.ipynbsamples\scripts\records.csxsamples\scripts\records-demo1.csxsamples\scripts\records-demo2.csxsamples\scripts\target-typed-new-expressions.csxnotebooks\top-level-statements.ipynbsamples\projects\simple-webapi\notebooks\module-initializers.ipynbsamples\projects\module-initnotebooks\source-generators.ipynb
- Why do we need particular feature?
- How does it improve your code?
- ➕ Развитие C# в контексте современных языков программирования
- ➕ Ссылочные типы, допускающие значение null C#8
- ➕ Выражения. C#7,8,9
- ➕ Сопоставление шаблонов C#7,8,9
- ➕ Выражения switch C#8
- ➕ Литеральные выражения default С#7
- ➕ Присваивание объединения со значением NULL C#8
- ➕ Выражения throw C#7
- ➖ Условные выражения ref C#7.2
- ➖ Условное выражение с целевым типом C#9
- ➕ Индексы и диапазоны C#8
- ➕ Асинхронные последовательности/потоки. Асинхронные высвобождаемые типы C#8
- ➖ Деконструкция типов C#7,9
- ➖ Кортежи и пользовательские типы C#7
- ➕ Поддержка расширения GetEnumerator для циклов foreach С#9
- ➕ Локальные функции C#7,8
- ➕ Статические анонимные функции C#9
- ➕ Атрибуты локальных функций C#9
- ➕ Параметры удаления (discards) лямбда-выражения C#9
- ➕ Объявления using C#8
- ➖ Члены доступные только для чтения C#8
- ➖ Методы интерфейса по умолчанию C#8
- ❔ Ковариантные возвращаемые типы C#9
- ➕ Методы назначения (setters) только инициализации C#9
- ➕ Записи (Record types) C# 9
- ➕ Новые выражения целевого типа C#9
- ➕ Генераторы кода C#9
- ➕ Инициализаторы модулей C#9
- ➕ Инструкции верхнего уровня C#9
