We don't just need to learn what's new in C# 12, but everything that's new since C# 7 (see this history of C# (http://"https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-version-history")), especially these (for me):Hi Gile, your link doesn't do anything. Perhaps you meant the History of C# (https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-version-history)? It is a subset of the link I posted. It just starts with version 12. I like your list. It's helpful to see what you thing is most useful. There's a lot of history to catch up on.
- Pattern matching
- Nullable reference types
- Records
- Collection expressions
- Lambda expression enhancements
Hi Gile, your link doesn't do anything. Perhaps you meant the History of C# (https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-version-history)?That's it. I repaired the link.
Gilles, Post Reply #3 has broken links too.Thanks for reporting, repaired.
Any recommendations for structuring a VS Solution for the transition to .NET 8?
Can we use the new C# features and maintain backwards compatibility with Framework?
There is little difference to currently, in principle. The differences are in the details of language and API references.
Do you have access to the Beta site ? I'm wary of posting specifics ( perhaps unnecessarily so )
There is little difference to currently, in principle. The differences are in the details of language and API references.
Do you have access to the Beta site ? I'm wary of posting specifics ( perhaps unnecessarily so )
I do have access, just been head down working on other things. Looking forward to the update though, fingers crossed it's pretty smooth.
Yes the Guard class looks interesting, but for the most current cases we can use, without the need of Community Toolkits extension, the ArgumentNullException.ThrowIfNull (https://learn.microsoft.com/en-us/dotnet/api/system.argumentnullexception.throwifnull?view=net-8.0), ArgumentException.ThrowIfNullOrWhiteSpace (https://learn.microsoft.com/en-us/dotnet/api/system.argumentexception.throwifnullorempty?view=net-8.0), ArgumentOutOfRangeException.ThrowIfGreaterThan (https://learn.microsoft.com/en-us/dotnet/api/system.argumentoutofrangeexception.throwifgreaterthan?view=net-8.0), ... methods.