Перегляньте рішення для інтерполяції рядків
Наведений нижче код є одним із можливих рішень для завдання з попередньої одиниці.
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);
Цей код є лише "одним із можливих рішень", тому що багато чого залежить від того, як ви вирішили реалізувати логіку. Поки ви використовували методи, описані в цьому модулі для форматування рядків, рядків клавіатури тощо, а результат відповідає результату завдання, тоді ви зробили чудово!
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
Якщо вам це вдалося, вітаємо!
Відомості про рішення
Ви можете продовжити цей розділ, щоб отримати пояснення про те, як це рішення вирішує проблему.
Знайдіть хвилинку, щоб переглянути код рішення.
Ви можете почати розбивати рішення і вирішити спочатку для написання привітання та відкриття абзацу в терміналі. Код, який слідує, вирішує відобразити привітання
Dear Ms. Barros,за допомогою інтерполяції рядків. Тепер ви повинні бути знайомі з шаблономConsole.WriteLine($"Your text {yourVariable}");:string customerName = "Ms. Barros"; Console.WriteLine($"Dear {customerName},");Вивід коду:
Dear Ms. Barros,Перегляньте зразок повного рішення ще раз. У першій половині рішення використовується інтерполяція рядка для відображення кожної частини першого абзацу.
Примітка
Складене форматування, наприклад
Console.WriteLine("Dear {0},", customerName), є ще одним можливим рішенням.Друга частина рішення відображає таблицю порівняння, створюючи довгий рядок крок за кроком за допомогою об'єднання рядків,
string.Format()з складеним форматуванням, визначниками формату (відсоток і грошова одиниця) іPadRight().Наведений нижче код створює перший рядок таблиці з додаваннями
Console.WriteLine()після кожного кроку побудови рядкаcomparisonMessage.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);У прикладі нижче показано, як побудовано перший рядок таблиці порівняння за три кроки.
Magic Yield Magic Yield 12.75% Magic Yield 12.75% $55,000,000.00
Якщо у вас виникли проблеми з виконанням цього завдання, може бути, ви повинні переглянути попередні одиниці, перш ніж продовжити.