38
What′s new in C# 12: overview
(pvs-studio.com)
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Follow the wormhole through a path of communities !webdev@programming.dev
The new list initializing syntax is less boilerplate, no?
Look how clunky it is to add support on a collection. Take the example here:
https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/operators/collection-expressions#collection-builder
It involves adding a new builder class, and they actually have to reference the function by string name.
It's actually making me even more angry now that I look at it in detail.
This is true of a lot of the opt-in language features though, isn't it? For example, you can just make an
.Add
method on anyIEnumerable
type and get collection initializer syntax supported for it, even as an extension method. The same works forDispose
on ref structs I believe, and I remember there being a few other places where this was true (GetAwaiter
I think?).This is for custom collections, right? And you don't even have to use it, you can keep using existing ctors for your custom collections
Worse case scenario you keep doing what we've always had to do. But for the 99% of use cases we get a much more streamlined initializer, with extensions to use our own.
I don't see how that's a bad thing