goto in action - The exception from the rule
Explores valid use cases for the 'goto' keyword in C#, challenging its reputation as universally bad practice.
Explores valid use cases for the 'goto' keyword in C#, challenging its reputation as universally bad practice.
Explains the differences between C#, .NET, IL, and the JIT compiler, detailing their roles in the .NET development stack.
Explains C# delegates, including Action, Func, Predicate, and lambda expressions, and how they are used to pass methods.
Lists the top nine essential technical skills for a successful .NET developer, including C#, ASP.NET MVC, and database knowledge.
Explains the .NET Garbage Collector's compacting phase, its performance benefits, and the Large Object Heap (LOH).
Explains the ObjectPool pattern in C# for performance optimization, showing how to reuse expensive objects to reduce garbage collection overhead.
A tutorial on creating an RSS feed for a blog or website using Blazor and the System.ServiceModel.Syndication package in ASP.NET Core.
A guide to unit testing applications that use the RavenDB document database in .NET, covering setup and repository patterns.
A deep dive into how the .NET Garbage Collector works, explaining its phases, generations, and impact on application performance.
Explains how to implement CancellationToken support in Blazor applications to cancel long-running tasks and manage resources when users navigate away.
Explains why using finalizers in C# is problematic and advocates for IDisposable for deterministic resource cleanup.
Explains tail-recursion using the Fibonacci series in C#, comparing performance and stack usage with regular recursion.
Explores the performance benefits of sealed classes in C#, focusing on virtual dispatch and type checking, with benchmark results.
Explores the performance differences between passing by value and by reference in C#, focusing on structs, copying costs, and dereferencing overhead.
A guide to advanced .NET Collections, covering generic, concurrent, and immutable namespaces for efficient C# development.
Final part of a series on migrating C# codebases to nullable reference types, covering practical techniques and tools for incremental adoption.
Explains the difference between ReadOnlyCollection and truly immutable collections in C#, showing how underlying data can still change.
Part 3 of a series on migrating C# code to nullable reference types, focusing on advanced annotations and attributes for better compiler flow analysis.
Explores the pitfalls of using public const in C#, explaining compile-time replacement and versioning issues, and suggests using static readonly instead.
Explores how C# nullable reference types work under the hood, comparing their IL compilation to nullable value types.