Pattern matching is awesome
Explores advanced C# pattern matching features, including null checks, property matching, and type inference, with practical code examples.
Steven Giesel is a Senior Software Engineer and Microsoft MVP with over 13 years of experience, specializing in .NET and modern backend development. He shares deep technical knowledge across topics such as C#, EF Core, RavenDB, distributed systems, and cloud-native architectures, and is an active speaker in the .NET community.
323 articles from this blog
Explores advanced C# pattern matching features, including null checks, property matching, and type inference, with practical code examples.
Explains pagination concepts, formulas, and implementation in C#/SQL, comparing it to infinite scrolling for efficient data loading.
A guide to structuring Blazor applications using a feature-based folder organization instead of the default template layout.
Explains why async/await in ASP.NET Core improves scalability by freeing worker threads during I/O, not raw performance.
An eBook explaining LINQ (Language Integrated Query) in C# using visual sketches and code samples, with over 30 pages of content.
Explores the new bulk update and delete features in Entity Framework 7, including usage, performance benefits, and limitations.
A review and guide to NDepend, a static code analysis tool for .NET, covering its features, setup, and use for improving code quality.
A visual guide explaining core LINQ functions in C#/.NET with sketches and examples, including Select, Where, Aggregate, and more.
Explains the Mediator pattern and CQRS, demonstrating their implementation and benefits in a C# application using MediatR.
Explains C# logging source code generators in .NET 6, detailing their benefits and usage for efficient, structured logging.
A comparison of four popular Git branching strategies: Git-Flow, GitHub-Flow, GitLab-Flow, and Trunk-Based Development, detailing their pros, cons, and use cases.
A tutorial on improving the user experience of a Blazor WebAssembly app by creating a custom loading screen with a progress bar.
An introductory guide explaining the core concepts of Git, including repositories, remotes, commits, and branches, with practical examples.
Explains the difference between abstract classes and interfaces in C# using real-world analogies like animals and ATMs.
A detailed guide to SOLID principles in C#, explaining each principle with code examples to improve code readability, maintainability, and flexibility.
Explores potential future features for the C# programming language, including compound assignments in object initializers and discriminated unions.
A guide to using Directory.Build.props to create a central NuGet package store for managing dependencies in a UNO Platform .NET 6 application.
Explains when Blazor components automatically re-render and common pitfalls to avoid, focusing on StateHasChanged, async methods, and lifecycle events.
Explains how to use TaskCompletionSource in .NET to convert event-based APIs into awaitable tasks, with examples for timers and error handling.
Explores valid use cases for the 'goto' keyword in C#, challenging its reputation as universally bad practice.