Java vs C# - Part 3
Introduction Updated records, thanks, Tim Purdum , for your review! This is my third post on the syntax of Java versus that of C#. It's been very long since I wrote the first two, and a lot has changed in C# (and something in Java); I updated the original ones, which you can find here (will be moving to this blog shortly), and this one will cover what's new. It's going to be a bit longer, as there are lots of features to cover, especially coming from C#. Again, this is not about each frameworks' specific APIs or features, it's just about how the C# and the Java languages differ. Because I'm a .NET person, I will give examples in C# only. I'm going to talk about: Init-only properties Primary constructors Tuples Interface members and default interface methods Partial properties Async/await Expression body members Pattern matching Local functions Records Global imports Type aliases Implicitly-typed variables Top-level statements Conditional member access Null...