C# 6: Neue Funktionen

Zusammensetzen von Strings mit String Interpolation

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
String Interpolation ist möglicherweise die beste Änderung in der Version 6.0 von C#. Statt der komplizierten Nummerierung der Parameter in String.Format können Strings nun aus beliebigen Objekten zusammengesetzt werden.

Transkript

In diesem Abschnitt möchte ich Ihnen das wahrscheinlich beste Feature von C#6 zeigen und das ist string interpolation. Ich möchte mit einem herkömmlichen code starten. Ich habe hier einen Wert, und diesen Wert, den möchte ich jetzt ausgeben. Und zwar, mit string.format. (Tastatur tippen) So und da habe ich jetzt irgendwie so einen string, und in diesem string möchte ich den ersten Parameter anzeigen und der erste Parameter ist mein value. Und dann ist mein code soweit in Ordnung, er kompiliert fehlerfrei und dann kann ich ihn auch laufen lassen. Also Sie werden es wahrscheinlich schon erkannt haben, hier ist ein Fehler drin, diese 1, die Zählung der Parameter, die beginnt ja bei null, das heißt, die 1 verweist auf einen zweiten Parameter und diesen zweiten Parameter, gibt es ja gar nicht. Wenn ich das Ganze starte, dann bekomme ich an der Stelle eine exception, weil eben der Index 1 zu hoch ist. Das ist betrüblich. Und das zweite Szenario, in dem diese string.format ein bisschen fragwürdig ist, das wäre etwa in folgenden Szenarios: string name = "Mein Wert", und dann würde ich jetzt hier folgendes schreiben: Der Wert ist null, der Name ist eins, ja und dann, gebe ich hier den Namen an. Ok, wunderbar, lassen wir das Ganze mal laufen. Der Wert ist 123, der Name ist "Mein Wert". Das ist irgendwie ein bisschen doof formuliert, ich würde das lieber folgendermaßen sagen, einfach kürzer formulieren, ja. So, Name = Wert. Sie sehen, was sich jetzt hier ergibt. Ich meine, die Ausgabe ist zwar richtig, "Mein Wert" = 123, das ist eine schöne Ausgabe von dem was wir als Szenario vorliegen haben, aber die Reihenfolge hier stimmt einfach nicht. Ich müsste das Ganze jetzt umdrehen, damit das einfach ein bisschen logischer aussieht und müsste das Ganze eben so schreiben. Und das ist Arbeit, die eigentlich sinnlos ist, weil der Compiler weiß doch an der Stelle auch was Name bedeutet, warum sollte er das hier nicht irgendwie selber wissen können, was er da eben einfügen soll. Und genau dafür ist die string interpolation da. Also ich kann jetzt an der Stelle, da will ich ja den Namen stehen haben, was hindert mich daran, einfach hier dieses name reinzuschreiben? Und hier statt der 1 dieses value. Dann muss ich nicht mitzählen. Und dann kann ich mir den Kram hier hinten übrigens sparen. Und das Ganze brauche ich jetzt nicht mit string.format ausgeben, sondern das Ganze lasse ich aussehen wie eine Konstante. Eine string Konstante, vor der ich das Zeichen $ setze. So und das ist das Konstrukt der string interpolation in C#. Also Dollar, und dann habe ich einen string und innerhalb von geschweiften Klammern gebe ich dann Namen an, von irgendwelchen Objekten, die in meinem Kontext vorliegen und diese Objekte werden dann an der Stelle in den string eingefügt. Ich starte mal die Applikation und wie Sie sehen, habe ich jetzt hier meine Ausgabe. Und jetzt kann ich die Geschichten hier herin beliebig vertauschen von der Reihenfolge her, ich kann ihre Anzahl verändern, et cetera Der Compiler macht mir das alles wunderschön mit. Nun ist es ja so, dass dieses string.format, das hat ja die Möglichkeit Werte zu formatieren. Also das wäre zum Beispiel, wenn ich jetzt hier nicht einen Intager, sondern ein Dezimal nehme und ich habe hier irgendso einen Wert, und jetzt könnte ich diesen Wert hier formatieren mit den üblichen Formatierungsanweisungen, die ich dann einfach nach einem Doppelpunkt hier schreibe. Zum Beispiel könnte ich das als currency darstellen. Und wenn ich das jetzt hier starte, dann erscheint mir mein Wert auch hier als Währung. Das Eurozeichen erscheint übrigens nur dann, wenn die Konsole auf UTF-8 umgestellt ist. Wie man das macht? Das ist ein Eintrag in der Registrierdatenbank und ich habe in den Projektdateien eine utf8.reg Datei beigefügt, die dann den entsprechenden Schlüssel in der Registrierdatenbank einträgt, so dass Sie in der Konsole immer unicode strings ausgeben können.

C# 6: Neue Funktionen

Sehen Sie, dass mit den Neuerungen in der bewährten Programmiersprache vor allem die bessere Lesbarkeit des Codes im Mittelpunkt steht.

40 min (11 Videos)
Derzeit sind keine Feedbacks vorhanden...
Hersteller:
Exklusiv für Abo-Kunden
Erscheinungsdatum:10.08.2016

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!