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>

listen Print view

(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>.

Der Dotnet-Doktor – Holger Schwichtenberg
Der Dotnet-Doktor – Holger Schwichtenberg

Dr. Holger Schwichtenberg ist technischer Leiter des Expertennetzwerks www.IT-Visions.de, das mit 53 renommierten Experten zahlreiche mittlere und große Unternehmen durch Beratungen und Schulungen sowie bei der Softwareentwicklung unterstützt. Durch seine Auftritte auf zahlreichen nationalen und internationalen Fachkonferenzen sowie mehr als 90 Fachbücher und mehr als 1500 Fachartikel gehört Holger Schwichtenberg zu den bekanntesten Experten für .NET und Webtechniken in Deutschland.

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)

Don't miss any news – follow us on Facebook, LinkedIn or Mastodon.

This article was originally published in German. It was translated with technical assistance and editorially reviewed before publication.