我面臨着我的代碼問題。轉義方式{in string.format函數在vb
的事情是我想逃離{中的String.Format功能...
當然逃脫它的一種方法是使用{{(2個大括號)
是否有任何其他無需使用雙層大括號即可逃跑。
謝謝
我面臨着我的代碼問題。轉義方式{in string.format函數在vb
的事情是我想逃離{中的String.Format功能...
當然逃脫它的一種方法是使用{{(2個大括號)
是否有任何其他無需使用雙層大括號即可逃跑。
謝謝
爲什麼會有另一種解決方案? {{
被指定爲以格式字符串轉義大括號的方式......我看不出爲什麼API設計人員會採用其他方式。
當然,你可以也提供格式參數,然後用括號來填充它:
Dim text as String = string.Format("{0}{1}", "{", "}")
會給「{}」的字符串,例如...但我可以」不要認爲這是一個更好的解決方案。
或許,如果你能說爲什麼你不喜歡正常的解決方案(雙大括號),我們可以在一個替代勸你 - 但沒有一個格式規範「語言」本身,據我」意識到。
不,不幸的是這是不可能的。
嗯,你可以這樣做,但在我看來不是一個好主意。
Dim str1 As String = "Print this " & Chr(123) & "0" & Chr(125) & " string"
Dim str2 As String = "silly"
Console.WriteLine(String.Format(str1, str2))
Console.ReadLine()
由於我正在研究的問題的性質,我想知道可能的解決方案。用戶查找特定的字符串{0},現在我使用string.format來創建我的T-sql查詢,這使得text = {0}。在下一個string.format中使用該變量文本會導致出現問題,因爲它被視爲{0}而不是{{0}},所以我正在尋找替代方法。無論如何,我們現在修改了整個查詢構建過程。無論如何,偉大的喬恩斯威特回答了我的問題,這絕對是一種榮譽。謝謝。 – Egalitarian 2012-03-04 19:11:30
@Egalitarian:您不應該在用戶的SQL中包含用戶的值來開始。您應該使用參數化查詢。否則,你很容易受到SQL注入攻擊。 – 2012-03-04 19:25:56
是的,那是我們意識到的,所以我們開始使用參數化查詢。 – Egalitarian 2012-03-05 01:47:30