主要问题:
有没有办法在 C# 中的字符串中插入 ONE 双引号
信息:
我正在尝试在 C# 中执行类似于以下 SQL Select 语句的操作
SELECT Name FROM Production.Product
WHERE CONTAINS(Name, '"chain*"');
我是这样解释的:
string selectCommand= @"select Name from Production.Products
WHERE contains (Name,'\"" + chain+ "*\"')");
但是我得到的字符串是:
" WHERE contains (Name,'"chain"')"
我也试过这个SOF中的方法question但它也没有用!:
string selectCommand= @"select Name from Production.Products
where contains (doc.document_name,'"""""" + full + """"""')");
最佳答案
如果您查看 string literals 的文档你会发现有两种格式。您必须转义以下所有字符的常规范式:
', ", \, 0, a, b, f, n, r, t, u, U, x, v.
所以你的字符串应该这样写:
string query = "WHERE CONTAINS(Name, \'\"chain*\"\');";
或逐字文字,前面有一个“at”符号,您只能通过“加倍”来转义双引号:
string query = @"WHERE CONTAINS(Name, '""chain*""');";
所以只需从字符串中删除“@”即可。
关于c# - 如何处理 C# 中引号内的引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5114207/