Partial properties and params are also highlighted in the planned language update. Credit: istock/Bossiema Microsoft, in its latest informational update on the planned C# 13 language release, is emphasizing capabilities such as overload resolution, with developers able to supply multiple params overloads when authoring a method, and partial properties, similar to partial methods. The company published its latest blog on C# 13 on July 9. C# 13 is likely to be finalized in November, along with the latest update to the planned .NET 9 software development platform. In detailing overload resolution, Microsoft said that when authoring a method, developers can supply multiple params overloads. This can reduce allocations, which can improve performance. Multiple overloads can both boost performance and add convenience. Library authors are advised to give all overloads the same semantics so callers do not need to be concerned about which overload is used. Partial properties, meanwhile, are described as being like partial method counterparts. It will be easier for source generator designers to create APIs with a natural feel. Also in C# 13, the release refines the rules for determining the natural type to consider candidates by scope and to prune candidates with no chance of succeeding. Updating these rules means fewer compiler errors when working with method groups. The release, with allows ref struct, also adds a new way to specify capabilities for generic type parameters. By default, parameters cannot be ref struct. C# 13 lets developers specify the type can be a ref struct, and applies appropriate rules. When other generic constraints limit the set of types that can be used as a type parameter, the new specification expands the allowed types. This removes rather than adds a restriction. In another improvement in C# 13, async methods can declare ref local variables or local variables of a ref struct type. These variables cannot be preserved across an await boundary or a yield return boundary. In this fashion, C# 13 allows the unsafe context in iterator methods. C# 13 also extends params, a feature previously cited by Microsoft. With C# 13, params will be extended to work with any type that can be constructed via a collection expression. This adds flexibility whether developers are writing a method or calling it. Beginning with C# 13, params parameters can be of any type that is supported for collection expressions. Elsewhere in C# 13, the language makes it easy to use a new System.Threading.Lock type featured in .NET 9. This type is for mutual exclusion, which can be more efficient than locking on an arbitrary System.Object instance. C# 13 also introduces a new escape sequence for the ESCAPE or ESC character. The new sequence is especially convenient when interacting with terminals with the VT100/ANSI escape codes to System.Console. Related content analysis Beyond the usual suspects: 5 fresh data science tools to try today The mid-month report includes quick tips for easier Python installation, a new VS Code-like IDE just for Python and R users, and five newer data science tools you won't want to miss. By Serdar Yegulalp Jul 12, 2024 2 mins Python Programming Languages Software Development analysis Generative AI won’t fix cloud migration You’ve probably heard how generative AI will solve all cloud migration problems. It’s not that simple. Generative AI could actually make it harder and more costly. By David Linthicum Jul 12, 2024 5 mins Generative AI Artificial Intelligence Cloud Computing news HR professionals trust AI recommendations HireVue survey finds 73% of HR professionals trust AI to make candidate recommendations, while 75% of workers are opposed to AI making hiring decisions. By Paul Krill Jul 11, 2024 3 mins Technology Industry Careers how-to Safety off: Programming in Rust with `unsafe` What does it mean to write unsafe code in Rust, and what can you do (and not do) with the 'unsafe' keyword? The facts may surprise you. By Serdar Yegulalp Jul 11, 2024 8 mins Rust Programming Languages Software Development Resources Videos