New in .NET 10.0 [12]: More Span conversions in C# 14.0
C# 14.0 includes new automatic conversions between arrays and Span<t> as well as ReadOnlySpan<t>.</t></t>
(Image: Pincasso/Shutterstock)
1 min. read
By
- Dr. Holger Schwichtenberg
As part of the “First-Class Span Types” initiative, C# 14.0 includes new automatic conversions between arrays and Span<T> as well as ReadOnlySpan<T>.
If the Developer class inherits from the Person base class and there is an array of Developer objects
Developer[] devArray = new Developer[3];
then the following conversions from array to spans were already possible:
Span<Developer> devSpan = devArray;
ReadOnlySpan<Developer> devROSpan = devArray;
ReadOnlySpan<Person> personROSpan = devArray;
Videos by heise
In C# 14.0, the following additional conversions are now possible:
ReadOnlySpan<Person> personROSpanFromDevSpan = devSpan;
ReadOnlySpan<Person> personROSpanFromDevROSpan = devROSpan;
However, the following conversions are still not allowed in C# 14.0:
Span<Person> personSpan = devArray;
Span<Person> personSpanFromDevSpan = devSpan;
(kbe)