C# 14’s New ++ Operator Is a Footgun | Instance Overloads Explained
Published 17/11/2025
Description
C# 14 quietly changed one of the most familiar parts of the language: the ++ and -- operators. Microsoft’s C# 14 proposal says increment and decrement can now be overloaded as instance operators, and an instance increment operator is effectively a void-returning instance method with special metadata behavior. In this video, I walk through how increment and decrement worked before, what changed in C# 14, and why custom types can now make i++ behave in ways that feel completely wrong at first glance. Microsoft’s proposal explains that instance increment operators are given priority during overload resolution and are designed to support in-place mutation scenarios. 0:00 - Introduction 0:09 - Description 1:10 - The Old Way 2:14 - The New Way 3:58 - The Reveal 5:24 - Conclusion What you’ll see: How classic pre-increment and post-increment behavior worked before C# 14. Before this feature, custom increment and decrement behavior relied on the older unary operator model rather than instance operator mutation. What changed in C# 14. Microsoft documents that increment and decrement can now be overloaded as instance members. A custom iint example that mutates in place. The language proposal describes the feature specifically as a way to avoid allocating and returning a new instance when an in-place change would work just as well. Why i++ can now be abused in surprising ways. Since the type author controls the instance operator body, the operator can mutate state in unexpected directions while still satisfying the language rules. Why this feature exists at all. Microsoft’s proposal explicitly frames the feature around avoiding extra allocations and enabling more efficient behavior for types where in-place mutation is desirable. This video is useful for C# developers doing code reviews, designing value types, or upgrading to .NET 10 and C# 14 without realizing how much operator behavior just changed. Microsoft’s C# 14 material and proposal notes bot