Rainer Stropek

Exploring the Latest Features of .NET and C# by Building a Game

What if you could parse complex data with just a few lines? Discover how C# 11's list patterns make it possible while building a game in .NET 8.

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.

Featured Partners

From learning to earning

Jobs that call for the skills explored in this talk.

C# .Net Developer

Dynamtiv People
Whitstable, United Kingdom

37-44K
MVC
GIT
Azure
DevOps
+1

C# .Net Developer

Dynamtiv People
Merthyr Tydfil, United Kingdom

37-44K
MVC
GIT
Azure
DevOps
+1

C#/.Net Developer

Synectics Solutions
Stoke-on-Trent, United Kingdom

50K
MVC
.NET
REST
MySQL
+13