I think the dotnet approach is definitely preferable for real projects, though. If you want to get a script done in Python then that's quick and easy, but if you need to manage dependencies, you run into the exact same pattern.
Whether it's cargo new, python -m venv ., npm init or whatever incantation Java developers use, all these toolsets are pretty much equivalent. With IDE support (Visual Studio is great, VS Code works) the entire experience becomes much better.
You can't run a quick "helloworld.cs" without creating a project, but I don't see that as a problem per se. In practice, C# isn't built for scripting so it doesn't make sense to optimise the toolchain for anything but a project approach. If you want dotnet scripts, run Powershell, that's what it's good for.
The most annoying part about dotnet is the setup, specifically ensuring that telemetry is off. Microsoft insists on an opt-out, and leaves it up to you to figure out where to put the environment variable to disable their stalking. Other projects such as Flutter have the same problem.
Running `dotnet new` is optional, it outputs a template "hello world" program source. It's a "yeoman" kind of tool.
I can't think of any language (python or java included) that works without at least 1 line of source code present.
Not sure how it can be any easier than gcc main.c && ./a.out