
About this episode
This episode is sponsored in part by dotConnect by Devart. Whether you're a developer or a business owner, dotConnect has the database integration tools you need to succeed.
Remember: you can also always follow the show on Twitter @dotnetcoreshow, and the shows host on Twitter @podcasterJay or visit our Contact page.
Welcome to season 5 of the award-winning .NET Core Podcast! Check that link for proof.
Hello everyone and welcome to THE .NET Core Podcast. An award-winning podcast where we reach into the core of the .NET technology stack and, with the help of the .NET community, present you with the information that you need in order to grok the many moving parts of one of the biggest cross-platform, multi-application frameworks on the planet.
I am your host, Jamie "GaProgMan" Taylor. In this episode, I talked with Stephen Cleary about his Comparers library and how comparison and equality of objects in your code base mean different things to different people. For instance, one block of code may view equality as two different object instances with the same ID field, and a different block of code may view equality as a combination of other properties being equal. It's all different for different people, for different consumers, right.
We also talk about the importance of unit testing in the comparers library and how writing these unit tests has sort of unearthed some interesting corner cases in the .NET BCL. Along the way, we discuss our opinions and guesswork regarding a potential corner case in the .NET BCL. But please do remember that neither Stephen nor myself actually work for Microsoft or indeed were involved in writing the original BCL. As such, our opinions and guesswork are just that: guesswork and opinions.
Useful Links from the episode:
- The .NET Core Podcast Discord Server
- Comparers
- The Spaceship operator
- AsyncEx library
- SemaphoreSlim
- video series on YouTube on TCP/IP protocol design
- Performance Improvements in .NET 7
- Flight 68k
- Don't repeat yourself (DRY)
- HashCode
- C# language repo
- Stephen Clary on GitHub
- stephencleary.com
- Cleary Coding
- Steve Cleary on Twitter
Remember to rate and review the show on Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend.
And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch.
You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast
Get every episode summarized
Each time The Modern .NET Show publishes, we email you a written briefing from the transcript — the topics, who appeared, and any specific claims, with the ad reads skipped.
Email me new episodesFree for 3 shows. No card needed.
Hosts & guests
No transcript yet
This episode has not been transcribed. Request it and it moves to the front of the queue.
More episodes
More from The Modern .NET Show

Giving AI Agents Safe Access to Your Data: SQL MCP Server with Jerry Nixon
The Modern .NET Show

From Pentest to 1.7 Million Downloads, Part 2: The Lessons Nobody Taught Me
The Modern .NET Show

From Pentest to 1.7 Million Downloads, Part 1: The Headers I'd Never Heard Of
The Modern .NET Show

Beyond the Chatbot: AI-Enabled .NET MAUI Apps with Codrina Merigo
The Modern .NET Show
