Microsoft 16.08.2021, 11:16 Uhr

String-Interpolation in C# 10 und .NET 6

Die Textverarbeitung ist das Herzstück zahlreicher Anwendungen und Dienste, und in .NET bedeutet das jede Menge System.String. Mit .NET 6 und C# 10 kommen neue, leistungsfähige Methoden dazu.
(Quelle: Microsoft.com
)
Textverarbeitung ist das Herzstück zahlreicher Anwendungen und Dienste. In .NET stecken die Methoden dafür in System.String. Schon mit .NET 1.0 kamen schier unzählige Möglichkeiten, Strings zu erstellen und seitdem sind viele weitere hinzugekommen. Ob über String-Konstruktoren oder StringBuilder oder ToString-Überschreibungen oder Hilfsmethoden für String wie Join oder Concat oder Create oder Replace: APIs zum Erstellen von Strings sind allgegenwärtig. Eine der leistungsfähigsten APIs zum Erstellen von Strings in .NET ist jedoch String.Format.
Die Methode String.Format verfügt über eine Vielzahl von Überladungen, denen allen gemeinsam ist, dass sie eine "zusammengesetzte Formatzeichenfolge" und zugehörige Argumente bereitstellen können. Diese Formatzeichenkette enthält eine Mischung aus literalem Text und Platzhaltern, die manchmal als "Formatelemente" oder "Löcher" bezeichnet werden, die dann von der Formatierungsoperation mit den gelieferten Argumenten ausgefüllt werden. Zum Beispiel gibt string.Format("Hallo, {0}! Wie geht es Ihnen an diesem schönen {1}?", name, DateTime.Now.DayOfWeek) bei einem Namen von "Stephen" und einem Aufruf an einem Donnerstag die Zeichenkette "Hallo, Stephen! Wie geht es dir an diesem schönen Donnerstag?". Es stehen weitere Funktionen zur Verfügung, wie zum Beispiel die Möglichkeit, einen Formatspezifikator anzugeben, so ergibt etwa string.Format("{0} in hex ist 0x{0:X}", 12345) den String "12345 in hex ist 0x3039".
All diese Fähigkeiten machen String.Format zu einem Arbeitspferd, das einen großen Teil der String-Erstellung übernimmt. Sie ist sogar so wichtig und nützlich, dass in C# 6 eine neue Syntax hinzugefügt wurde, um sie noch besser nutzbar zu machen. Diese "String-Interpolations"-Funktionalität ermöglicht es Entwicklern, ein Dollarzeichen $ direkt vor dem String zu platzieren. Anstatt Argumente für die Formatelemente separat anzugeben, können diese Argumente dann direkt in den interpolierten String eingebettet werden. Das obige Beispiel kann nun beispielsweise als $"Hallo, {Name}! Wie geht es dir an diesem schönen {DateTime.Now.DayOfWeek}?" geschrieben werden. Das Ergebnis ist dasselbe wie oben, die Syntax allerdings leichter nachzuvollziehen.
Was mit C# 10 und .NET 6 hinzugekommen ist und wie Sie die neuen Hilfsmittel nutzen können, erklärt Stephen Toub, Partner Software Engineer .NET in diesem Beitrag des Microsoft Developer Blogs.


Das könnte Sie auch interessieren