c# - how - كيفية الهروب الأقواس(الأقواس المتعرجة) في سلسلة التنسيق في.NET




substring in c# (6)

كيف يمكن الهروب بين قوسين في استخدام string.Format . فمثلا:

String val = "1,2,3"
String.Format(" foo {{0}}", val); 

هذا المثال لا يطرح استثناءً ، ولكنه يخرج سلسلة foo {0}

هل هناك طريقة للهروب من الأقواس؟


أو يمكنك استخدام c # string string مثل هذا (الميزة المتوفرة في C # 6.0)

var value = "1, 2, 3";
var output = $" foo {{{value}}}";

الهروب من الأقواس المتعرجة واستخدام سلسلة الاستيفاء يجعل تحديًا مثيرًا للاهتمام. تحتاج إلى استخدام الأقواس الرباعية للهروب من تحليل الاستيفاء سلسلة و string.format .

الهروب بين قوسين: سلسلة الاستيفاء $ ("") و String.Format

string localVar = "dynamic";
string templateString = [email protected]"<h2>{0}</h2><div>this is my {localVar} template using a {{{{custom tag}}}}</div>";
string result = string.Format(templateString, "String Interpolation");

// OUTPUT: <h2>String Interpolation</h2><div>this is my dynamic template using a {custom tag}</div>

جئت هنا للبحث عن كيفية بناء سلاسل json ad-hoc (بدون إجراء تسلسل لفئة / كائن) في C #. وبعبارة أخرى ، كيفية الهروب من الأقواس والاقتباسات أثناء استخدام سلاسل Interpolated في C # و " حرفيّة السلسلة الحرفية " (سلاسل مقتبسة مزدوجة مع البادئة "@") ، مثل ...

var json = [email protected]"{{""name"":""{name}""}}";

لكي تتمكن من إخراج foo {1, 2, 3} عليك القيام بشيء مثل:

string t = "1, 2, 3";
string v = String.Format(" foo {{{0}}}", t);

لإخراج { استخدم {{ وإخراج a } تستخدم }} .


نعم للإخراج { in string.Format يجب عليك الهروب مثل هذا {{

إذا هذا

String val = "1,2,3";
String.Format(" foo {{{0}}}", val);

سيتم إخراج "foo {1,2,3}" .

ولكن عليك أن تعرف عن خلل في التصميم في C # وهو أنه من خلال الذهاب إلى المنطق أعلاه ، ستفترض أن هذا الرمز أدناه سوف يطبع {24.00}

int i = 24;
string str = String.Format("{{{0:N}}}", i); //gives '{N}' instead of {24.00}

لكن هذا يطبع {ن}. هذا لأن الطريقة C # يفرز تسلسلات الهروب وتنسيق الأحرف. للحصول على القيمة المطلوبة في الحالة المذكورة أعلاه ، يجب عليك استخدام هذا بدلاً من ذلك.

String.Format("{0}{1:N}{2}", "{", i, "}") //evaluates to {24.00}

المقالات المرجعية String.Format gottach والأسئلة الشائعة حول تنسيق السلسلة


يمكنك استخدام الأقواس المفتوحة المزدوجة وأقواس الإغلاق المزدوجة التي ستعرض قوسًا واحدًا فقط على صفحتك.





formatting