我使用String.Format
這樣:String.Format - 我的字符串有什麼問題?
String.Format("$(function() { $('{0}').menu(); });", "blaId");
我得到一個異常:
An exception of type 'System.FormatException' occurred and was caught.
我該如何解決這個問題?
我使用String.Format
這樣:String.Format - 我的字符串有什麼問題?
String.Format("$(function() { $('{0}').menu(); });", "blaId");
我得到一個異常:
An exception of type 'System.FormatException' occurred and was caught.
我該如何解決這個問題?
你應該逃避{
文字是這樣的:{{
,除非他們像{0}
佔位符的一部分。
String.Format("$(function() {{ $('{0}').menu(); }});", "blaId");
您的花括號內有一個無效的索引值。 String.Format
認識到這是格式化的佔位符。
{ $('{0}').menu(); }
要解決此問題,使用雙花括號逃脫:
String.Format("$(function() {{ $('{0}').menu(); }});", "blaId");
逃生{
和}
String.Format("$(function() {{ $('{0}').menu(); }});", "blaId");
其他的花括號混亂String.Format
。
一種解決方案是這樣寫:
String.Format("$(function() {1} $('{0}').menu(); {2});", "blaId", "{", "}");
但最好逃脫文字,就像這樣:
String.Format("$(function() {{ $('{0}').menu(); }});", "blaId");
我認爲這是不相關的事實,一些大括號「內「其他大括號,如你所說。我的意思是,像'「function(){return 1;} {0}」這樣的字符串會混淆String.Format。 – 2012-04-18 14:44:29
@Shedal Fair point there。我會改變我的描述。 – Curt 2012-04-18 14:51:20