Escapeing String.Format Placeholder - PullRequest
2 голосов
/ 12 января 2012

У меня есть следующая строка

"ListId={1CC88B01-E60F-45D1-8B3C-28852574156D}&ID={0}&ContentTypeID=0x01003D458D19EF31D845B3A7727B0F2F8FC8"

Я хотел бы использовать его как таковое

String.Format("ListId={1CC88B01-E60F-45D1-8B3C-28852574156D}&ID={0}&ContentTypeID=0x01003D458D19EF31D845B3A7727B0F2F8FC8", MyValue)

WHERE MyValue would replace ID={0}

Однако это бросает System.FormatException. Очевидно, это из-за {1CC88B01-E60F-45D1-8B3C-28852574156D} guid, который использует значение заполнителя string.format. Теперь я могу просто разделить строковый вызов string.format(), как требуется, и объединить его обратно вместе, но, возможно, есть какой-то способ, которым я могу избежать этого, как-то "избегая" значения заполнителя?

Ответы [ 2 ]

9 голосов
/ 12 января 2012

Вам просто нужно удвоить скобки:

1 голос
/ 12 января 2012

Используйте двойные {{или}} символы, чтобы избежать их.

...