我有一個這樣的字串
'Name.ToLower().Contains ("") And Created < ("05/12/2022 01:41:16") And Disabled == false'
如何在 C# 中處理這個問題?
我試過在前面加上@"""等。
點網小提琴
uj5u.com熱心網友回復:
var a = @"'Name.ToLower().Contains ("""") And Created < (""05/12/2022"") And ExpandOnStart == false'";
像這樣?
uj5u.com熱心網友回復:
顯然,您必須以某種方式轉義特殊字符。在較舊的 C# 中使用逐字字串:https ://dotnetfiddle.net/8OtiKP
@"'Name.ToLower().Contains ("""") And Created < (""05/12/2022"") And ExpandOnStart == false'"
如您所見,"仍然需要使用 進行轉義"",但所有其他字符,包括\可以保持原樣
在 C#11 中有一個更好的解決方案:根本不需要轉義的原始字串文字"
"""'Name.ToLower().Contains ("") And Created < ("05/12/2022 01:41:16") And Disabled == false'"""
uj5u.com熱心網友回復:
這是一種有點不同的方法,但您提到字串是通過附加其他字串創建的,所以它可能會有所幫助。
var createdDate = "05/12/2022";
var name = "some name";
var expandOnStart = "false";
var theString = $"Name.ToLower().Contains(\"{name}\") And Created < (\"{createdDate}\") And ExpandOnStart == \"{expandOnStart}\"";
// theString = Name.ToLower().Contains("some name") And Created < ("05/12/2022") And ExpandOnStart == "false"
https://dotnetfiddle.net/oq3UYq
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/473919.html
上一篇:將字串串列轉換為動態型別串列
