Record types in Java were added with Java 14, released March 2020, it was later that year, in November, that C# added them with C# 9.0.
I don't believe C# has anything like the exhaustive switch over a sealed interface that the article is talking about.