Введение

В первой статье мы рассказывали Вам про инициализацию авто свойств. На этой неделе мы расскажем Вам про функции строковой интерполяции/строкового сцепления (string interpolation/string concatenation).


 

new functions

 

Разработчики регулярно форматируют строковые значения при разработке программы. Как правило, используется метод String.Format(), который заменяет каждый форматируемый элемент в указанной строке текстовыми значениями из объектов. Зачастую это сбивает с толку и приводит к ошибкам. 

 

// Старый способ строковой интерполяции с использованием оператора «+»

Console.WriteLine("\n Fullname : ” + p.FirstName + " " + p.LastName +

”\n Joining : " + p.Joining);

// Старый способ строкового сцепления с использованием string.Format

Console.Writeline(string.Format("\n Fullname : {0} {l}\n Joining : {2}",

p.FirstName, p.LastName, p.Joining));

 

В C# 6.0 Microsoft добавила новую функцию для ускорения процесса написания кода. Теперь Вы можете поместить выражение непосредственно в “string literal” для отображения значений в правильном форматировании.

Вот несколько примеров функций:

 

// Помещает выражение туда где оно нужно

Console.Writeline("\n Fullname : \{p.FirstName} \{p.LastName}\n Joining : \{p.Joining}");

// Дополнительные выравнивания и спецификации формата

Console.Writeline("\n Product: \{p.Name, 10} \n Price : \{p.Price : C2}");

// Условия для string literals с дополнительными строками в качестве контента

Console.WriteLine("\n Product: \{p.Name} \n Price : \{p.Price} \{(p.Price == 1 ? "rupee" : "rupees")}");

 

Ознакомиться и протестировать данный код можно, скачав Visual Studio 2015 и .NET 4.6

Надеемся, что вам понравилась данная функция. Разработчики все еще продолжают работать над ней, и в будущем они обещают добавить более простой способ обеспечения условий в строках. Возможно, данные функции будут добавлены в следующем релизе Visual Studio 2015.

Источник: http://www.kunal-chowdhury.com/2014/11/csharp-6-string-interpolation.html