Monday, January 19, 2026
Browse through the links of this newsletter that is packed with C# and .NET insights
XAML Studio is now Open Sourced
Michael Hawker opens up XAML Studio under the .NET Foundation, turning the WinUI prototyping workhorse into a community-driven project. This post explains how years of building XAML Studio spawned reusable Windows Community Toolkit controls like SwitchPresenter, the Sizer suite, and experimental Adorners, and what V2 adds for faster XAML iteration with live editing and debugging.
The 2025 Year-End Performance Review for .NET
Viktor Ponamarev recaps a zero overhead year for .NET, where Adaptive Server GC in .NET 9 and sharper JIT work in .NET 10 delivered real memory and throughput gains with almost no tuning. This post shows how params Span in C# 13 and the preview of C# 14 killed hidden array allocations while Garnet, MemoryPack, Sep, and Frozen collections turned common workloads into lean, fast paths. Expect practical insights on getting faster apps by upgrading the runtime and choosing specialized libraries instead of rewriting logic.
Deep C# – The Console
Mike James demystifies the Windows console for .NET by showing how to open and attach a console from non-console apps using a few Win32 calls. Ideal when you want quick logging or interactive I/O without building a custom UI.
Introduction to Delegates in C#
Ajay Narkhedkar demystifies C# delegates showing how to pass behavior without tight coupling. This post walks through single-cast and multicast delegates, passing delegates as parameters, and the built-in Func, Action, and Predicate, then connects the dots to events and LINQ. Expect practical patterns to make your code more flexible, testable, and calm under change.
C# 14 Improved Lambda Expressions: Using ref, in, and out Parameters for High-Performance Code
Raghunath walks through C# 14’s upgraded lambdas that accept ref, in, and out parameters, trimming boilerplate and enabling in-place updates and copy-free reads. This post highlights when these modifiers shine and closes with a handy decision guide to balance speed and readability.
Custom Validator in ASP.NET Core MVC (Beginner-Friendly)
Walk through creating custom validation in ASP.NET Core MVC, from a simple MinimumAge attribute to a cross property date check with IValidatableObject. This post shows how validation fires in API controllers, how errors surface via ModelState, and how to exercise the rules in Postman without any Razor or JavaScript. Perfect when built in attributes are close but not quite enough and you want clean, reusable domain rules.
Enjoying these links? 💜
Get them delivered to your inbox every Monday, Wednesday, and Friday.
Why Serious Engineering Teams Are Reconsidering .NET in 2025
Spencer Thomason argues that .NET 10 is winning teams back through refinement, not reinvention, with runtime and memory improvements that actually matter under load and less ceremony like running a single C# file. If you are weighing stacks, you will find a practical view of how modern C# now fits the realities of enterprise delivery.
.NET Concurrency, Parallelism, and async/await
Patrik Duch untangles the knots between concurrency, parallelism, and async/await in .NET, clarifying that async is about nonblocking work rather than extra CPU. With a clear mental model and a practical CI test example, this post shows when to embrace concurrency and when true parallelism actually makes things faster. Expect fewer threading myths and more confident performance choices.
C# 14 Field Keyword: Simplifying Property Accessors
Laurent Kempé explores C# 14's new field keyword and how it bridges the gap between auto-properties and full property logic. This post shows practical patterns like validation, transformations, lazy initialization, and MVVM-friendly change notifications without manual backing fields, along with nuances such as contextual usage and property initializers. The result is cleaner properties, simpler migrations, and fewer refactoring pitfalls in .NET 10 projects.
Add Tailwind 4 to an ASP.NET Core 10 MVC or Razor Pages project
Jerrie Pelser shows how to wire Tailwind 4 into an ASP.NET Core 10 MVC or Razor Pages app without a heavy front-end pipeline. Using the Tailwind CLI, the new @import and @source directives, and a small MSBuild target, this post generates site.css in wwwroot on every build while keeping client files neatly isolated. Ideal if you want utility-first styling that is predictable in local dev and CI.
Build AI Agents with Microsoft Agent Framework in C#
Mashrul Haque introduces Microsoft Agent Framework, the preview successor to AutoGen and Semantic Kernel, and shows how to build practical AI agents in C# without duct tape. This post covers getting started with Microsoft.Extensions.AI, adding memory with threads, wiring up C# tools, and orchestrating multiple agents, plus hard won notes on token costs, errors, and shifting APIs. A clear look at what you gain by consolidating on the new model and how to try it safely.
Simplifying Code Signing for Windows Apps: Artifact Signing (GA)
Microsoft rebrands Trusted Signing to Artifact Signing and makes it generally available for Windows app developers. This post shows how the fully managed service handles short-lived certificates, verified publisher identity, RBAC, and full audit trails while plugging into GitHub Actions, Azure DevOps, Visual Studio, MSBuild, and signtool.