Überprüfen einer Lösung für die Zeichenfolgeninterpolation
Der folgende Code stellt eine mögliche Lösung für die Herausforderung der vorherigen Lerneinheit dar.
string customerName = "Ms. Barros";
string currentProduct = "Magic Yield";
int currentShares = 2975000;
decimal currentReturn = 0.1275m;
decimal currentProfit = 55000000.0m;
string newProduct = "Glorious Future";
decimal newReturn = 0.13125m;
decimal newProfit = 63000000.0m;
Console.WriteLine($"Dear {customerName},");
Console.WriteLine($"As a customer of our {currentProduct} offering we are excited to tell you about a new financial product that would dramatically increase your return.\n");
Console.WriteLine($"Currently, you own {currentShares:N} shares at a return of {currentReturn:P}.\n");
Console.WriteLine($"Our new product, {newProduct} offers a return of {newReturn:P}. Given your current volume, your potential profit would be {newProfit:C}.\n");
Console.WriteLine("Here's a quick comparison:\n");
string comparisonMessage = "";
comparisonMessage = currentProduct.PadRight(20);
comparisonMessage += String.Format("{0:P}", currentReturn).PadRight(10);
comparisonMessage += String.Format("{0:C}", currentProfit).PadRight(20);
comparisonMessage += "\n";
comparisonMessage += newProduct.PadRight(20);
comparisonMessage += String.Format("{0:P}", newReturn).PadRight(10);
comparisonMessage += String.Format("{0:C}", newProfit).PadRight(20);
Console.WriteLine(comparisonMessage);
Dieser Code ist lediglich eine mögliche Lösung, da viel davon abhängt, wie Sie sich für die Implementierung der Logik entschieden haben. Sie waren erfolgreich, wenn Sie die in diesem Modul erklärten Techniken zum Formatieren von Zeichenfolgen, Auffüllen von Zeichenfolgen usw. verwendet haben und die Ausgabe mit der Ausgabe der Herausforderung übereinstimmt.
Dear Ms. Barros,
As a customer of our Magic Yield offering we are excited to tell you about a new financial product that would dramatically increase your return.
Currently, you own 2,975,000.00 shares at a return of 12.75%.
Our new product, Glorious Future offers a return of 13.13%. Given your current volume, your potential profit would be $63,000,000.00.
Here's a quick comparison:
Magic Yield 12.75% $55,000,000.00
Glorious Future 13.13% $63,000,000.00
Wenn Sie es geschafft haben, herzlichen Glückwunsch!
Details zur Lösung
Sie können diesen Abschnitt fortsetzen, um eine Erläuterung darüber zu erhalten, wie die angegebene Lösung diese Herausforderung löst.
Nehmen Sie sich eine Minute Zeit, um den Lösungscode zu überprüfen.
Sie können damit beginnen, die Lösung detailliert darzustellen und die Begrüßung und den einführenden Absatz für das Terminal zu schreiben. Der folgende Code löst die Anzeige der Begrüßung
Dear Ms. Barros,mithilfe der Zeichenfolgeninterpolation aus. Sie sollten jetzt mit dem MusterConsole.WriteLine($"Your text {yourVariable}");vertraut sein:string customerName = "Ms. Barros"; Console.WriteLine($"Dear {customerName},");Die Codeausgabe lautet:
Dear Ms. Barros,Überprüfen Sie die vollständige Beispiellösung erneut. In der ersten Hälfte der Lösung wird die Zeichenfolgeninterpolation verwendet, um jeden Teil des ersten Absatzes anzuzeigen.
Hinweis
Eine zusammengesetzte Formatierung wie
Console.WriteLine("Dear {0},", customerName)ist eine weitere mögliche Lösung.Der zweite Teil der Lösung zeigt die Vergleichstabelle an, indem schrittweise eine lange Zeichenkette durch Zeichenfolgenverkettung aufgebaut wird,
string.Format()mit zusammengesetzter Formatierung, Formatbezeichnern (wie Prozent und Währung) undPadRight().Der folgende Code erstellt die erste Zeile der Tabelle, wobei nach jedem Schritt bei der Erstellung der Zeichenfolge
comparisonMessageeine Ergänzung vonConsole.WriteLine()erfolgt.string currentProduct = "Magic Yield"; int currentShares = 2975000; decimal currentReturn = 0.1275m; decimal currentProfit = 55000000.0m; string comparisonMessage = ""; comparisonMessage = currentProduct.PadRight(20); Console.WriteLine(comparisonMessage); comparisonMessage += String.Format("{0:P}", currentReturn).PadRight(10); Console.WriteLine(comparisonMessage); comparisonMessage += String.Format("{0:C}", currentProfit).PadRight(20); Console.WriteLine(comparisonMessage);Die folgende Beispielausgabe zeigt, wie die erste Zeile der Vergleichstabelle in drei Schritten erstellt wird.
Magic Yield Magic Yield 12.75% Magic Yield 12.75% $55,000,000.00
Wenn Sie Probleme beim Abschließen dieser Herausforderung hatten, sollten Sie vielleicht die vorherigen Einheiten überprüfen, bevor Sie fortfahren.