Neu in .NET 10.0 [12]: Mehr Konvertierungen für Spans in C# 14.0
In C# 14.0 sind neue automatische Konvertierungen zwischen Arrays und Span<T> sowie ReadOnlySpan<T> enthalten.
(Bild: Pincasso/Shutterstock)
- Dr. Holger Schwichtenberg
Im Rahmen der Initiative „First-Class Span Types“ sind in C# 14.0 neue automatische Konvertierungen zwischen Arrays und Span<T> sowie ReadOnlySpan<T> enthalten.
Wenn die Klasse Developer von der Basisklasse Person erbt und es ein Array von Developer-Objekten gibt
Developer[] devArray = new Developer[3];
dann gab es bisher schon folgende Konvertierungen von Array zu Spans:
Span<Developer> devSpan = devArray;
ReadOnlySpan<Developer> devROSpan = devArray;
ReadOnlySpan<Person> personROSpan = devArray;
Videos by heise
In C# 14.0 sind zusätzlich neuerdings folgende Umwandlungen möglich:
ReadOnlySpan<Person> personROSpanFromDevSpan = devSpan;
ReadOnlySpan<Person> personROSpanFromDevROSpan = devROSpan;
Allerdings sind folgende Konvertierungen in C# 14.0 weiterhin nicht erlaubt:
Span<Person> personSpan = devArray;
Span<Person> personSpanFromDevSpan = devSpan;
(rme)