在C#多行逐字字符串中转义string.Format的参数

kat*_*roh 11 c# string string.format

string template = @"  
          {  
            argument1   = ""{0}"";
            argument2   = {1};  
          }";
Run Code Online (Sandbox Code Playgroud)

当我将它格式化为string.Format的常用字符串时,我自然会得到一个异常,即输入字符串的格式不正确.我尝试转义msdn文档中推荐的参数,比如"{{0}}"甚至"{{{0}}}",但我仍然得到相同的异常.关于如何格式化这样一个字符串的任何想法?

谢谢!

PS [edit]我的原始字符串用于生成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;
       }
     }}";
Run Code Online (Sandbox Code Playgroud)

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

Joh*_*ers 31

问题是开放和紧密的支撑.你需要引用它们,否则Format会认为你是一个参数说明符.

string template = @"   
          {{   
            argument1   = ""{0}""; 
            argument2   = {1};   
          }}"; 
Run Code Online (Sandbox Code Playgroud)