C# вопросы : Вопрос 1 : 48

 

Как при помощи стандартной функции форматирования собрать строку типа:

{"ObjectName": Value }  

ObjectName и Value передаются в качестве параметров.

 

Уважаемые учащиеся ниже Вы сможете увидеть ответ, перед тем, как ответить, пожалуйста, постарайтесь написать для себя ответ на черновике, и только потом сравните наш ответ с Вашим: 

 

 


Верно ли наше решение?

Ответ:

Форматирование строки производится при помощи функции

string String.Format(string template, params object[] objs); 


где template - шаблон для форматирования, a objs массив объектов используемых при форматировании. Шаблон template представляет из себя строку с местами для вывода параметров. Места вывода параметров отмечаются фигурными скобками, в которых указывается номер параметра из массива параметров и дополнительные особенности форматирования. 

Пример: {0, 12:N2} для параметра double d=12.022. Форматирование выдаст 12,02

Таким образом нам для того, чтобы решить поставленную задачу нам необходимо составить шаблон для строки

{"object": value}. 


Дело осложняется тем, что в этом шаблоне присутствуют символы {, } и " которые необходимо экранировать.
\" - Экранируем кавычку
{{ - Экранируем открывающую фигурную скобку
}} - Экранируем закрывающую фигурную скобку
Итог:

string ObjectName="object"; 
int Value = 10; 
string Formatted=String.Format("{{\"{0}\": {1} }}", ObjectName, Value); 


При выполнении получаем строку: {"object": 10 }
1 балл


© Copyright © 2017 - 2019 Все права защищены. Бесплатное онлайн образование.