Rainer Stropek
Exploring the Latest Features of .NET and C# by Building a Game
#1about 4 minutes
Setting up the .NET 8 game project with SkiaSharp
The project is configured with .NET 8, WPF for the window, and SkiaSharp for 2D rendering, using a sprite sheet for game assets.
#2about 7 minutes
Building the game window using file-scoped types
The main game window is created using file-scoped types to restrict visibility, along with modern null checking and extension method deconstructors.
#3about 3 minutes
Using top-level statements and natural delegate types
The application entry point is simplified using top-level statements, and natural types allow passing method groups directly to parameters expecting delegates.
#4about 7 minutes
Using raw string literals and UTF-8 for JSON data
Raw string literals simplify embedding multi-line JSON, and the u8 suffix creates an efficient UTF-8 byte span directly from the literal.
#5about 7 minutes
Customizing JSON deserialization with JsonTypeInfoResolver
Use JsonTypeInfoResolver to programmatically apply custom converters to external types during deserialization, avoiding the need for intermediate DTOs.
#6about 4 minutes
Implementing player movement and drawing logic
The core drawing loop is implemented to render the player, and target-typed new() expressions simplify object creation within switch expressions.
#7about 11 minutes
Filtering collections with list pattern matching in LINQ
List patterns are used within LINQ queries to filter collections based on the properties and sequence of their elements.
#8about 14 minutes
Creating generic parsing logic with the IParsable interface
The IParsable<T> interface enables writing generic algorithms for parsing strings, with list patterns used to implement the parsing logic for a custom type.
Related jobs
Jobs that call for the skills explored in this talk.
ROSEN Technology and Research Center GmbH
Osnabrück, Germany
Senior
TypeScript
React
+3
tree-IT GmbH
Bad Neustadt an der Saale, Germany
€54-80K
Intermediate
Senior
Java
TypeScript
+1
Matching moments
02:35 MIN
Overview of modern C# community-loved features
Modern C#: A Dive into the Community's Most Loved new Features.
02:13 MIN
Introduction to five key features in C# 10
5 features that help you get the most out of C# 10
02:52 MIN
How to stay current with C# development
Modern C#: A Dive into the Community's Most Loved new Features.
02:48 MIN
A brief history of C# from version 1 to 12
C# 13 Unleashed: Live Demos of my Top 10 Cutting-Edge Features!
02:54 MIN
A career journey and an interactive game demo
Fun with PaaS – How to use Cloud Foundry and its uniqueness in creative ways
07:02 MIN
Exploring the project structure and C# Hot Reload
.NET Apps Everywhere!
01:57 MIN
Presenting live web scraping demos at a developer conference
Tech with Tim at WeAreDevelopers World Congress 2024
02:52 MIN
A showcase of creative and collaborative developer tools
WeAreDevelopers LIVE - Should We Respect LLMs? Is Rust Taking Over? Developers as Content Creators and more
Featured Partners
Related Videos
C# 13 Unleashed: Live Demos of my Top 10 Cutting-Edge Features!
Ambesh Singh & Sachin Kumar
Hacking C# from the inside - how to do anything in NET
Adam Furmanek
5 features that help you get the most out of C# 10
Louëlla Creemers
Building a Compiler with C#
Florian Rappl
Down the Oregon Trail with Functional C#
Simon Painter
Tips, tricks and quirks in .NET
Paweł Łukaszuk
Modern C#: A Dive into the Community's Most Loved new Features.
Louëlla Creemers
.NET Apps Everywhere!
Steve Bilogan
Related Articles
View all articles



From learning to earning
Jobs that call for the skills explored in this talk.

Code Healers LLC
Hinesville, United States of America
Remote
€40-50K
Intermediate
Senior
PHP
.NET
React
+2

Nutrio GmbH
Hildesheim, Germany
CSS
HTML
.NET
Python
Angular
+4

euroident GmbH
Dietmannsried, Germany
Remote
€45-60K
GIT
Blazor
PostgreSQL
+1

Skalbach Gmbh
Karlsruhe, Germany
Remote
.NET
Azure
Angular
Software Architecture
+1

SE Padersoft GmbH & Co. KG
Paderborn, Germany
Remote
GIT
REST
Blazor
Docker
+3



