可能重複:
how to add { in String Format c#如何保存 「{0}」 經過兩次的String.format調用
當我重寫總是同樣的事情,我已經習慣了寫我稱之爲它的字符串模式。
比方說,我想這樣做的SQL注入來擴展ORM功能...
protected static string FULLTEXTPATTERN = "EXISTS CONTAINSTABLE([{0}],*,'\"{1}\"') WHERE [key] = {0}.id;
,通常我得到了表名和值,我在的String.Format結合(FULLTEXTPATTERN,... ),一切都很好。
想象一下,現在我必須在兩次中這樣做。首先注入表名,然後是我搜索的值。所以我想寫這樣的東西:
protected static string FULLTEXTPATTERN = "EXISTS CONTAINSTABLE([{0}],*,'\"{{0}}/*Something that returns {0} after string.format*/\"') WHERE [key] = {0}.id;
...
var PartialPattern= string.fomat(FULLTEXTPATTERN, "TableX");
//PartialPattern = "EXISTS CONTAINSTABLE([TableX],*,'\"{0}\"') WHERE [key] = {0}.id"
...
//later in the code
...
var sqlStatement = string.format(PartialPattern,"Pitming");
//sqlStatement = "EXISTS CONTAINSTABLE([TableX],*,'\"Pitming\"') WHERE [key] = {0}.id"
有沒有辦法做到這一點?
使用佔位符。如果你的圖書館不支持他們......切換。 (表名不能在佔位符中綁定,因此必須手動注入這些名稱。)這種待嵌入的將被替換的{0}'看起來像一場噩夢。考慮:'EXISTS CONTAINSTABLE({table},*,@ value)WHERE ...' – 2012-03-28 12:23:47
相關問題:[如何添加{在字符串格式的c#](http://stackoverflow.com/questions/9084309/how-to -add-in-string-format -c-sharp/9084352#9084352) – 2012-03-28 12:25:17
你只是問如何轉義字符串'{0}'?如果是這樣,你已經回答了它 - 你把大括號{{0}}加倍。你能讓你的問題更清楚嗎? – 2012-03-28 12:28:12