C# 替换报价

C# 替换报价,c#,C#,我正在通过一个c脚本迭代一些db值。现在我有一个问题,如果db值只有2个引号,那么c需要一些表达式或分号。我能做些什么来避免这种情况?如果有像这样的值,我想跳过它 我尝试过类似的方法,但没有成功: sVal.Replace(@"""", ""); 或 谢谢。您如何阅读这些导致问题的字符串?你能提供一些关于你在和sVal做什么的背景吗。您是在查询中使用它还是查询的结果?而且@只是一个引用。外部引号用于字符串,内部两个是@下的一个引号。

我正在通过一个c脚本迭代一些db值。现在我有一个问题,如果db值只有2个引号,那么c需要一些表达式或分号。我能做些什么来避免这种情况?如果有像这样的值,我想跳过它

我尝试过类似的方法,但没有成功:

sVal.Replace(@"""", ""); 


谢谢。

您如何阅读这些导致问题的字符串?你能提供一些关于你在和sVal做什么的背景吗。您是在查询中使用它还是查询的结果?而且@只是一个引用。外部引号用于字符串,内部两个是@下的一个引号。仅供参考,字符串是不可变的。Replace返回一个新字符串,因此您需要将结果分配给某个对象。为什么双引号会出现问题?您的实际代码、实际错误消息是什么?您是否通过连接Sting来构造查询?这是一个非常糟糕的想法,它会让您面临SQL注入问题和转换问题,因为部分数据最终会进入查询本身。再多的引用和转义也解决不了这个问题。使用参数化查询更容易、更快您的代码正在替换双引号的所有实例,而不仅仅是两个双引号之间没有任何内容。您需要使用@或\\。但是你没有描述你的意思,它不起作用。请编辑您的问题,添加复制问题的示例代码,包括输入字符串和预期的输出字符串。假设问题是由SQL注入引起的,使用Dapper之类的库,使用参数化查询实际上更容易,例如:var customers=connection.Queryselect*from customers,其中name=@name,new{name=O'Reily and\Monty Python\};
if (sVal != @"""") ...