c# - 用双引号替换引号

标签 c#

我需要使用函数将字符串中的所有引号替换为双引号,但我不知道如何返回字符串的替换版本。我是 c# 的新手,因此我们将不胜感激。

这是我的代码

    private void ReplaceAllQuotes(string Name, string Contact, string    CallType, 
                                  string Reason, string Notes, string State, 
                                  string Consultant, string CustNo, string Time, 
                                  string SubReason, string AddedBy, string AddedOn, 
                                  string UpdatedBy, string UpdatedOn)
    {
        Name = Name.Replace("'", "\"");
        Contact = Contact.Replace("'", "\"");
        CallType = CallType.Replace("'", "\"");
        Reason = Reason.Replace("'", "\"");
        Notes = Notes.Replace("'", "\"");
        State = State.Replace("'", "\"");
        Consultant = Consultant.Replace("'", "\"");
        CustNo = CustNo.Replace("'", "\"");
        Time = Time.Replace("'", "\"");
        SubReason = SubReason.Replace("'", "\"");
        AddedBy = AddedBy.Replace("'", "\"");
        AddedOn = AddedOn.Replace("'", "\"");
        UpdatedBy = UpdatedBy.Replace("'", "\"");
        UpdatedOn = UpdatedOn.Replace("'", "\"");
    }

最佳答案

注意到你所做的所有文案了吗?每次你 ctrl-v 时

.Replace("'", "\"");

你应该感到一种压倒性的内疚感。否则,您永远不会成为真正的程序员。

真正的程序员只做一次事情,因为我们很懒惰。

public string YerSingleQuotesSuck(string incorrectString)
{
    if(string.IsNullOrWhiteSpace(incorrectString)
        return ""; // or throw, or do whatever
    return incorrectString.Replace("'", "\"");
}

现在您可以轻松修复错误

something.Name = YerSingleQuotesSuck(something.Name);
something.Contact = YerSingleQuotesSuck(something.Contact);

这里要记住一些事情——方法封装了可以多次使用的逻辑,从而使您不必到处复制粘贴该逻辑。

此外,字符串不可变,这意味着您无法更改它们。字符串方法总是接受一个字符串并将其转换为另一个字符串。您需要将第一个字符串替换为转换后的字符串。

您的问题的其他解决方案(例如使用 ref 关键字)在这种情况下并不是最佳选择。方法签名短比长好。

最后,通过 C# 获取 CLR,跳过前两章并阅读。

关于c# - 用双引号替换引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31455867/

相关文章:

c# - 如何使用 NHibernate 通过 RESTful PUT 创建实体?

c# - .Net 是否支持柯里化(Currying)泛型?

c# - 输入不是有效的 Base64 字符串,因为它包含非 base 64 字符

c# - WebAPI CORS 和 Ninject

c# - Winform应用程序在XP系统上闪烁

C#静默创建Excel工作表并保存数据

c# - 使 GetRawInputDeviceInfo 和 RIDI_DEVICEINFO 与 C# 一起工作

c# - SqlConnection 构造函数中无法识别的转义序列

c# - 简单 C# 程序的惊人不同性能

c# - 如何避免级联错误消息