簡體   English   中英

在C#多行逐字字符串中轉義string.Format的參數

[英]Escaping arguments for string.Format in a C# multiline verbatim string

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

當我將它格式化為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;
       }
     }}";

如果我嘗試string.Format(scenarioHeaderTemplate,10,10,10),它會拋出;

問題是開放和緊密的支撐。 你需要引用它們,否則Format會認為你是一個參數說明符。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM