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
191 Aufrufe
certi.news Editorial Team
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
c
Autor

certi.news Editorial Team

Das Wichtigste

Microsoft stellt neue Vorschaufunktionen in C# 15 vor, die mit .NET 11 erscheinen sollen. Dazu gehören Argumente in Sammlungsausdrücken, Erweiterungsindizes und Schleifenbezeichnungen. Diese Funktionen sind noch nicht final; die Quelle nennt keinen Termin für ihre stabile Veröffentlichung.

  • C# 15 führt die Syntax with(...) ein, um Argumente an Sammlungskonstruktoren innerhalb von Sammlungsausdrücken zu übergeben.
  • Erweiterungsindizes ermöglichen den Zugriff auf Elemente bestimmter Objekte mit einer Syntax, die der nativen Indizierung ähnelt, etwa numbers[2].
  • Schleifenbezeichnungen erlauben es, break oder continue direkt an eine bestimmte Schleife zu richten, was bei verschachtelten Schleifen nützlich ist.
  • Die Vorschau umfasst außerdem Union-Typen, geschlossene Hierarchien sowie eine Vorschau auf ein aktualisiertes Modell für den Umgang mit unsicherem Code.
  • Microsoft ermutigt Entwickler, die Funktionen über .NET 11 auszuprobieren und sich an Diskussionen im csharplang-Projekt zu beteiligen.

FAQ

Wann werden die C#-15-Funktionen verfügbar sein?

Sie sollen mit .NET 11 erscheinen, sind derzeit jedoch als Vorschau verfügbar. Die Quelle nennt keinen endgültigen Termin für eine stabile Veröffentlichung.

Welchen Nutzen haben with(...)-Argumente in Sammlungsausdrücken?

Sie ermöglichen es, Argumente direkt innerhalb des Ausdrucks an den Sammlungskonstruktor oder die Erstellungsmethode zu übergeben, etwa um die Kapazität einer Liste festzulegen oder einen StringComparer an HashSet zu übergeben.

Was ermöglichen Erweiterungsindizes?

Sie erlauben den Zugriff auf ein Element eines Empfängerobjekts, als wäre der Index in dessen Typ definiert, wobei ein benannter Empfänger im Erweiterungscontainer erforderlich ist.

Wie helfen Schleifenbezeichnungen?

Sie ermöglichen es, break oder continue direkt an eine benannte Schleife zu richten, wodurch in verschachtelten Schleifen weniger boolesche Variablen oder goto benötigt werden.

Aus derselben Kategorie

Das könnte Sie interessieren

Alle Nachrichten anzeigen