Why Don’t C# Records Validate Their Values? @zoran-horvat
Why Don’t C# Records Validate Their Values?  @zoran-horvat
Uploaded November 2023 | Updated September 2026, 3 weeks ago
I receive repeated questions from many programmers asking why don't I add validation to records in C#.
The answer is simple. Records are just values. Could an int validate itself? The same value could sometimes be valid, other times not. It all depends on the outer context.
A record, many believe, is more than just an int, and so it should validate itself. Let's examine that.
Should a 2-dimensional size insist on being positive? Or at least non-negative? Again, whatever the choice, that depends on the context.
You better have a separate function or an interface that does that. Now we're talking!
One variant would only allow strictly positive values. Another allows vertical and horizontal flipping, but will not let the size degenerate into a line. Yet another would allow just anything.
It is therefore common to pick or inject an appropriate strategy in code which must validate records on creation.

Thank you so much for watching! Please like, comment & share this video as it helps me a ton!! Don't forget to subscribe to my channel for more amazing videos and make sure to hit the bell icon to never miss any updates.🔥❤️

✅🔔 Become a patron ► patreon.com/ZoranHorvat
✅🔔 Subscribe ► youtube.com/channel/UCxsWfh8LCcn55mFB6zGBT1g?sub_confirmation=1
⭐ Learn more from video courses:
Beginning Object-oriented Programming with C# ► codinghelmet.com/go/beginning-oop-with-csharp
⭐ Collections and Generics in C# ► codinghelmet.com/go/collections-and-generics-in-cs
⭐ Making Your C# Code More Object-oriented ► codinghelmet.com/go/making-your-cs-code-more-oo
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
⭐ CONNECT WITH ME 📱👨

🌐Become a patron ► patreon.com/ZoranHorvat
🌐Buy me a Coffee ► ko-fi.com/zoranhorvat
🗳 Pluralsight Courses ► codinghelmet.com/go/pluralsight
📸 Udemy Courses ► codinghelmet.com/go/udemy
📸 Join me on Twitter ► twitter.com/zoranh75
🌐 Read my Articles ► codinghelmet.com/articles
📸 Join me on LinkedIn ► linkedin.com/in/zoran-horvat
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
👨 About Me 👨
Hi, I’m Zoran, I have more than 20 years of experience as a software developer, architect, team lead, and more. I have been programming in C# since its inception in the early 2000s. Since 2017 I have started publishing professional video courses at Pluralsight and Udemy and by this point, there are over 100 hours of the highest-quality videos you can watch on those platforms. On my YouTube channel, you can find shorter video forms focused on clarifying practical issues in coding, design, and architecture of .NET applications.❤️
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
⚡️RIGHT NOTICE:
The Copyright Laws of the United States recognize a “fair use” of copyrighted content. Section 107 of the U.S. Copyright Act states: “Notwithstanding the provisions of sections 106 and 106A, the fair use of a copyrighted work, including such use by reproduction in copies or phono records or by any other means specified by that section, for purposes such as criticism, comment, news reporting, teaching (including multiple copies for classroom use), scholarship, or research, is not an infringement of copyright." This video and our youtube channel, in general, may contain certain copyrighted works that were not specifically authorized to be used by the copyright holder(s), but which we believe in good faith are protected by federal law and the Fair use doctrine for one or more of the reasons noted above.

⭐For copyright or any inquiries, please contact us at zh@codinghelmet.com

#csharp #dotnet #functionalprogramming
Why Don’t C# Records Validate Their Values?Master the Design of Classes (Part 3)There Is Life Beyond ExceptionsHow to Design a Reusable C# LibraryThe Ultimate Guide to C# RecordsExtend EF Core to Track Immutable RecordsProgrammers Massively Fail on ThisPersisting C# Records in Dapper: Why They Must Share the TableEmbrace the Result Type With All Its Strengths and FlawsAdvent of Code 2024 Day 10 - Full SolutionHow to Implement Strongly Typed IDs with EF Core and ASP.NET Core Razor PagesValidating Records in C#: Everything You Ever Wanted To Know but Had No One To Ask
Zoran on C# |

Why Don’t C# Records Validate Their Values?

SHARE TO X SHARE TO REDDIT SHARE TO FACEBOOK WALLPAPER