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

当我使用 string.Format 将其格式化为通常的字符串时,我自然会得到一个异常,即输入字符串的格式不正确。我尝试按照 msdn 文档中的建议转义参数,例如“{{0}}”甚至“{{{0}}}”,但我仍然遇到相同的异常。关于如何格式化这样一个字符串的任何想法?

谢谢!

PS[编辑] 我的原始字符串用于生成 WCAT 场景文件:

 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;
       }
     }}";

如果我尝试 string.Format(scenarioHeaderTemplate, 10, 10, 10); 它会抛出

4

1 回答 1

31

问题是开括号和闭括号。您需要引用这些,否则 Format 会认为您正在开始一个参数说明符。

string template = @"   
          {{   
            argument1   = ""{0}""; 
            argument2   = {1};   
          }}"; 
于 2010-10-08T19:16:57.107 回答