Помещение {в дословную строку с C # [дубликат]

  

Возможный дубликат:
Как экранировать скобки в строке формата в .Net

Как мне поставить { или } в дословной строке в C #?

using System;

class DoFile {

    static void Main(string[] args) {
        string templateString = @"
        \{{0}\}
        {1}
        {2}
        ";
        Console.WriteLine(templateString, "a", "b", "c");
    }
}

Я получаю сообщение об ошибке, когда использую '{' или '}' в дословной строке. Я думаю, это потому, что для маркировки параметров используется '{' или '}', например {0}, {1}, {2}. \{ не работает.

Unhandled Exception: System.FormatException: Input string was not in a correct format.
  at System.String.ParseFormatSpecifier (System.String str, System.Int32& ptr, System.Int32& n, System.Int32& width, System.Boolean& left_align, System.String& format) [0x00000] in <filename unknown>:0 
  at System.String.FormatHelper (System.Text.StringBuilder result, IFormatProvider provider, System.String format, System.Object[] args) [0x00000] in <filename unknown>:0 
12 голосов | спросил prosseek 13 Maypm11 2011, 23:36:40

3 ответа


0

Вам просто нужно убежать с двойными фигурными скобками ..

{{ или }} соответственно. .

Что-то вроде ниже

string.Format("This is a format string for {0} with {{literal brackets}} inside", "test");
  

Это строка формата для теста с {литеральными скобками} внутри

ответил Quintin Robinson 13 Maypm11 2011, 23:37:41
0

Вы ставите два таких как {{ или }}

ответил Jim Bolla 13 Maypm11 2011, 23:37:31
0

Ничего особенного нет в размещении { и } в строке, они не должны быть экранированы. Кроме того, escape-символ \ не действует в строке с разделителями.

Использовать литерал { и } в формате для метода String.Format вы удваиваете их. Итак, ваша строка формата будет такой:

string templateString = @"
    {{{0}}}
    {1}
    {2}
    ";
ответил Guffa 13 Maypm11 2011, 23:43:01

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132