我需要在字符串中添加\
符号。
我找不到这样做的方法,因为
@"\" == "\\"
\
不是正确的陈述。
修改
实际上我正在尝试生成包含'
字符的SQL查询字符串。为了使SQL正确读取,我应该像\'
那样表示它。所以,我的代码是这样的:
string query = "SELECT somequery";
query += "\\'";
但是当SQL尝试执行此查询时,它认为查询包含\ \\'
。
答案 0 :(得分:2)
目前还不清楚你要做什么,因为"\\"
和@"\"
确实是这样做的正确方法(选择你的毒药)。
答案 1 :(得分:1)
澄清其他答案。尝试将值设置为字符串时,需要使用常用字符。 ASCII图表中的某些其他内容无法直接输入,例如Tab键,输入,换行等等。 provided here (same as provided by Gabriel)这样的字符列表需要如此转义。如果你不打算使用特殊的转义字符,你可以通过用“@”引导字符串来绕过“逃避”它们的需要,这意味着把它放在我这里所拥有的......
例如:
string MyString = @"C:\SomePath\Anything\else\File.txt";
与
相同string MyString = "C:\\SomePath\\Anything\\else\\File.txt";
如果你不使用前导“@”,第一次遇到“\”表示下一个字符是表示你想要的字符的键...在“\”的情况下,第一个打开“逃避”机制,第二个是你想要的实际角色。
对于Enter键和换行等内容,您通常会将其视为
string MyMsg = "This is a sample \r\nMessage that\r\nwill span 3 lines.";
and appear as
This is a sample
Message that
will span 3 lines.
您甚至可以使用不同的类型构建字符串,例如
string MyTest = @"C:\SomePath\" + AnySubPathVariable + "\\NewFile.txt";
所以,如果“AnySubPathVariable等于”测试“,结果字符串将变为
C:\SomePath\testing\newfile.txt
希望这能大大澄清你想要做的事情。
答案 2 :(得分:1)
您是否尝试在SQL字符串文字中转义撇号(')?用两个撇号('')替换它。反斜杠适用于C#,而不适用于SQL。
"WHERE text = 'don''t'"
修改强>:
可能您正在寻找:
query = "SELECT * FROM tbl WHERE text = '" + input.Replace("'","''") + "'";
但是在这种情况下考虑使用SQL参数,而不是使用字符串操作。
反斜杠不需要在SQL中转义:
SELECT * FROM tbl WHERE text = '\'
答案 3 :(得分:0)
你需要逃脱你的角色:
string str = "\\"; //gives \ if you use it in a label
Click here表示要在字符串
中转义的字符列表如果这还不够,你能发布你需要的完整例子吗?