Austretende Argumente für string.Format in einem C # mehrzeilige wörtlich Zeichenfolge

StackOverflow https://stackoverflow.com/questions/3893604

  •  28-09-2019
  •  | 
  •  

Frage

string template = @"  
          {  
            argument1   = ""{0}"";
            argument2   = {1};  
          }";

Wenn ich formatieren Sie es als eine übliche Zeichenfolge mit string.Format, ich natürlich eine Ausnahme erhalten, dass die Eingabezeichenfolge war nicht im richtigen Format. Ich habe versucht, die Argumente zu entkommen, wie es in MSDN-Dokumentation empfohlen wird, wie „{{0}}“ und sogar „{{{0}}}“, aber ich immer noch die gleiche Ausnahme erhalten. Irgendwelche Ideen auf, wie man eine solche Zeichenfolge zu formatieren?

Danke!

P. S. [Bearbeiten] meine ursprüngliche Zeichenfolge ist für eine WCAT Szenario-Datei zu erzeugen:

 string scenarioHeaderTemplate = @"
    scenario
    {{
       name    = ""WCAT Scenario"";
       warmup      = {0};
       duration    = {1};
       cooldown    = {2};

       default
       {
           version     = HTTP11;
           setheader
           {
               name    = ""Connection"";
               value   = ""keep-alive"";
           }
           statuscode  = 200;
           close       = ka;
       }
     }}";

und es wirft, wenn ich versuche, string.Format (scenarioHeaderTemplate, 10, 10, 10);

War es hilfreich?

Lösung

Das Problem ist, die öffnen und schließen Klammern. Sie müssen diejenigen zitieren, oder Format werden Sie denken, einen Parameter Spezifizierer sind begining.

string template = @"   
          {{   
            argument1   = ""{0}""; 
            argument2   = {1};   
          }}"; 
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top