使用 C# 将所有引号设置为双引号

Set all quotes to double quote using C#

我尝试让用户能够在 CustomerName 中搜索带有引号的客户。

用户在设置为 customerNameTB 的 customerNameTextBox 中搜索用户。

如果用户使用引号 ('),它将被替换为双引号。

如果有三引号('''),它将被替换为双引号。

这是我的代码:

string customerNameTB = customerNameTextbox.Text;                
customerNameTB.Replace("'", "''");                
while (customerNameTB.Contains("'''"))
{
   customerNameTB.Replace("'''", "''");
}

此代码后的结果是引号仍然是单引号。

这段代码有什么问题..

回答后编辑

我的代码应该是这样的:

 string customerNameTB = customerNameTextbox.Text;                
    customerNameTB = customerNameTB.Replace("'", "''");                
    while (customerNameTB.Contains("'''"))
    {
       customerNameTB = customerNameTB.Replace("'''", "''");
    }

你很接近!这就是您所需要的:

string customerNameTB = customerNameTextbox.Text;  
// single quotes
customerNameTB = customerNameTB.Replace("'", "''");
// triple quotes
customerNameTB = customerNameTB.Replace("'''", "''");

替换不会在原始字符串中替换它,它 returns 一个新字符串,您必须将其分配给某些东西,否则它就会被丢弃。

String.Replace 不会修改它所在的字符串 运行。 您需要将 Replace 的结果分配给您的字符串:

   string customerNameTB = customerNameTextbox.Text;                
   customerNameTB=customerNameTB.Replace("'", "''");                
   customerNameTB=customerNameTB.Replace("'''", "''");

另外,不需要循环,因为 Replace 会替换所有出现的搜索字符串。