Of course, there’s lots of room to grow towards that goal.
Specific syntax for patterns makes intention more clear, and shifts responsibility for getting it right from the developer to the compiler.
I have no doubt that some of this newer syntax is clever, and very welcome to many, but not everyone will realize that it's far more beneficial in the long term to cater to the common denominator.
if (expression is {} val)
Is the right way to code, even if it looks ugly.
well some is necessary. example: init-only-Setter, was impossible to do before. You could not write the same Code, without it. No matter what you did.
using declarations where also necessary to increase readability.
and nullable reference types also were important!
If so, it isn’t just sugar, they added a new hook for it in the internals, rather than just relabelling a technique to accomplish a similar (but not equal) end.
actually record types are more syntactic sugar around what you said than initonly, which opens up a new way of writing code
From that it's just standard Docker - it doesn't matter that you are running .NET core in it really. You can do anything you could normally in Docker and K8S.
The only thing I'm not entirely sure about is the recent direction of C# to add loads and loads of syntactic sugar, which reduces the amount of code you have to write but I find the code becomes so terse it's hard to glance and reason with, but that may be just because it's quite new.