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.ipynb
-
samples\scripts\nullable-reference-types.csx
-
notebooks\functions-misc.ipynb
-
samples\scripts\null-coalescing-assignment.csx
-
samples\scripts\static-local-functions.csx
-
samples\scripts\static-anonymous-functions.csx
-
samples\scripts\lambda-discards.csx
-
notebooks\async-streams.ipynb
-
samples\projects\get-enumerator-foreach
-
notebooks\ranges-indexes.ipynb
-
notebooks\using-declarations.ipynb
-
notebooks\pattern-matching.ipynb
-
samples\scripts\pattern-matching\pattern-matching-demo1.csx
-
samples\scripts\pattern-matching\pattern-matching-demo2.csx
-
notebooks\records.ipynb
-
samples\scripts\records.csx
-
samples\scripts\records-demo1.csx
-
samples\scripts\records-demo2.csx
-
samples\scripts\target-typed-new-expressions.csx
-
notebooks\top-level-statements.ipynb
-
samples\projects\simple-webapi\
-
notebooks\module-initializers.ipynb
-
samples\projects\module-init
-
notebooks\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