powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / C#. Как сделать интерполяцию строк ( $"xxxx"), если в строке есть {} ?
3 сообщений из 3, страница 1 из 1
C#. Как сделать интерполяцию строк ( $"xxxx"), если в строке есть {} ?
    #40015452
Фотография Nika gnome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не то, чтобы прям проблема, конкатенация всё решает, но всё же, какие последние веяния языка в решении такого вопроса?
Руководство скину на всякий случай.

В нём сказано:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
var pw = (firstName: "Phillis", lastName: "Wheatley", born: 1753, published: 1773);

//составное форматирование:
string s = string.Format("{0} {1} was an African American poet born in {2}.", pw.firstName, pw.lastName, pw.born);

//"интерполяция" строк
string s = $"{pw.firstName} {pw.lastName} was an African American poet born in {pw.born}."

//всё это вместо старинного
string s = pw.firstName +" " +pw.lastName + " was an African American poet born in " + pw.born.ToString() +"."


Звучит гладко.
Но что если строка - это фрагмент какого-то JSON, или просто строка, содержащая фигурные скобки?
Код: c#
1.
string json = @"{""perPageCount"":100, ""page"":2}"


Как подставить параметры в него?
мне просто нужно сформировать json (чтобы отправить потом в теле RestAPI сообщения)

мои попытки:
...
Рейтинг: 0 / 0
C#. Как сделать интерполяцию строк ( $"xxxx"), если в строке есть {} ?
    #40015453
Фотография Nika gnome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мысль номер раз:
Код: c#
1.
2.
string json = $@"{""perPageCount"":{count}, ""page"":{pageN}}"
string json = @$"{""perPageCount"":{count}, ""page"":{pageN}}"


@$ - фигня какая-то.

Мысль номер два:
Код: c#
1.
string json = $"{\"perPageCount\":{count}, \"page\":{pageN}}"


компилятору мешают фигурные скобки в начале и в конце выражения.

мысль номер три:
Код: c#
1.
string json = $"\{\"perPageCount\":{count}, \"page\":{pageN}\}"


\} - таких линяем-последовательностей не существует.

мысль номер четыре:
Код: c#
1.
string json = $"\U0001F47D\"perPageCount\":{count}, \"page\":{pageN}\\U0001F47E"


данунахрен

короче, пока что пусть будет
Код: c#
1.
string json = @"{""perPageCount"":" + count.ToString() + @"""page"":" + pageN.ToString() + "}"
...
Рейтинг: 0 / 0
C#. Как сделать интерполяцию строк ( $"xxxx"), если в строке есть {} ?
    #40015454
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
https://docs.microsoft.com/ru-ru/dotnet/csharp/language-reference/tokens/interpolated#special-characters Чтобы включить в текст, создаваемый интерполированной строкой, фигурную скобку "{" или "}", используйте две фигурные скобки — "{{" или "}}". Подробнее см. в разделе Экранирование фигурных скобок.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / C#. Как сделать интерполяцию строк ( $"xxxx"), если в строке есть {} ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]