الوسيطات الهروب من string.format في سلسلة c# متعددة الأليفة

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

  •  28-09-2019
  •  | 
  •  

سؤال

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

عندما أقوم بتنسيقها كسلسلة معتادة مع string.format ، من الطبيعي أن أحصل على استثناء من أن سلسلة الإدخال لم تكن بالتنسيق الصحيح. حاولت الهروب من الوسائط كما يوصى به في وثائق MSDN ، مثل "{{0}}" وحتى "{{{0}}}" ، لكنني ما زلت أحصل على نفس الاستثناء. أي أفكار حول كيفية تنسيق مثل هذه السلسلة؟

شكرًا!

ملاحظة [تحرير] سلسلتي الأصلية لإنشاء ملف سيناريو 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 (سيناريو BheaderTemplate ، 10 ، 10 ، 10) ؛

هل كانت مفيدة؟

المحلول

المشكلة هي الأقواس المفتوحة والإغلاق. تحتاج إلى اقتباس هذه ، أو أن التنسيق سيعتقد أنك تبدأ في تحديد المعلمة.

string template = @"   
          {{   
            argument1   = ""{0}""; 
            argument2   = {1};   
          }}"; 
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top