Programmierung und Softwareentwicklung

C# 15 fügt erweiterte Indizes und Verbesserungen für Sammlungsausdrücke in der Vorschau hinzu

Microsoft stellte in einem Blogbeitrag zu .NET eine Reihe von Funktionen vor, die in der ersten Vorschau von C# 15 verfügbar sind, das mit .NET 11 erscheinen wird. Dazu gehören das Übergeben von Argumenten an Sammlungskonstruktoren, erweiterte Indizes und Schleifenbezeichnungen. Die Änderungen zielen darauf ab, Boilerplate-Code zu reduzieren und die Verständlichkeit einiger alltäglicher Programmiermuster zu verbessern.

2026-08-24
3 Min. Lesezeit
16 Aufrufe
فريق تحرير certi.news
C# 15 fügt erweiterte Indizes und Verbesserungen für Sammlungsausdrücke in der Vorschau hinzu

Microsoft hat neue Funktionen vorgestellt, die in der Vorschau von C# 15 verfügbar sind, der Version, die mit .NET 11 erscheinen wird. Das Update umfasst Union-Typen, geschlossene Hierarchien und eine Vorschau auf das aktualisierte Modell für den Umgang mit unsicherem Code sowie kleinere Änderungen, die darauf abzielen, wiederholten imperativen Code im Alltag zu reduzieren.

Argumente innerhalb von Sammlungsausdrücken

Sammlungsausdrücke in C# können Werte in verschiedene Sammlungstypen umwandeln, ermöglichten es bisher jedoch nicht, Argumente an den Basiskonstruktor oder die Erstellungsmethode zu übergeben. C# 15 fügt ein neues Element in der Form with(...) hinzu, das am Anfang des Ausdrucks platziert wird, um diese Argumente zu übergeben.

So kann beispielsweise eine Liste erstellt und ihre Kapazität direkt innerhalb des Ausdrucks festgelegt werden. Ebenso lässt sich ein HashSet erstellen und StringComparer.OrdinalIgnoreCase übergeben, anstatt die Erstellung von der Elementergänzung zu trennen. Microsoft weist darauf hin, dass diese Funktion den Weg für die erwartete Syntax von Wörterbuchausdrücken ebnet, bei der wahrscheinlich das für die Schlüssel verwendete Vergleichsobjekt angegeben werden muss.

Zugriff auf Elemente über erweiterte Indizes

Nachdem C# 14 neben Methoden auch Erweiterungselemente für Eigenschaften und Operatoren eingeführt hatte, erweitert C# 15 dieses Modell um erweiterte Indizes. Dadurch kann auf ein Element eines Empfängerobjekts zugegriffen werden, als wäre der Index ursprünglich in dessen Typ definiert.

Im von Microsoft gezeigten Beispiel erforderte der Zugriff auf ein Element in IEnumerable<int> eine Hilfsmethode wie ElementAtIndex. Die neue Syntax ermöglicht dagegen die Verwendung von numbers[2] über einen erweiterten Index, der dem Empfänger zugeordnet ist. Der Blogbeitrag erklärt, dass Indizes nicht statisch sein können. Daher muss der Empfänger des Erweiterungselements einen benannten Empfänger enthalten.

Bezeichnungen für break- und continue-Schleifen

C# 15 ermöglicht es, Schleifen zu benennen und break oder continue direkt an sie zu richten. Das ist bei verschachtelten Schleifen hilfreich, bei denen das Verlassen der äußeren Schleife normalerweise eine boolesche Variable, die Verwendung von goto oder die Verlagerung der Logik in eine separate Methode erforderte.

In der Praxis macht die Bezeichnung das Ziel des Verlassens im Code deutlich und beseitigt die Notwendigkeit einer Variable, um zu verfolgen, ob das gesuchte Element gefunden wurde. Das Beispiel zeigt eine mit scan bezeichnete Schleife, die direkt mit break scan verlassen werden kann.

Was ändert sich für Entwickler?

Diese Funktionen verändern das Ausführungsmodell von .NET nicht grundlegend, sondern strukturieren die Codesyntax neu und reduzieren einige wiederkehrende Muster. Ihr Wert zeigt sich besonders in Projekten, die Sammlungsausdrücke verwenden, mit verschachtelten Schleifen arbeiten oder kürzere Zugriffsschnittstellen für erweiterbare Typen benötigen.

Die Funktionen befinden sich jedoch weiterhin in der Vorschau und stellen daher noch keine endgültige, stabile Schnittstelle dar. Microsoft lädt Entwickler dazu ein, .NET 11 herunterzuladen und C# 15 mit ihren Anwendungen zu testen, den vollständigen Verweis auf die Neuerungen heranzuziehen und sich an den laufenden Diskussionen im Projekt csharplang zu beteiligen. Die Quelle nennt in diesem Artikel keinen endgültigen Termin für die Überführung der Funktionen in eine stabile Version.

Nachrichtenquelle
ف
Autor

فريق تحرير certi.news

Aus derselben Kategorie

Das könnte Sie interessieren

Alle Nachrichten anzeigen