public partial class Form1 : Form
    {
    const char ASC_Cr = (char)13;  //Cr
    const char ASC_Lf = (char)10;  //Lf


... etc等...更多代码在这里

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
        string ReadString;
        ReadString = serialPort1.ReadLine();

        ReadString = ReadString.Replace(ASC_Cr, ("¬"));
        ReadString = ReadString.Replace(ASC_Lf, "¶");
        Console.WriteLine("Read:" + ReadString);
        }


我正在尝试读取串行端口,并将ASCII的cr和lf更改为字符“¬”和“¶”,以便调试准确显示我收到的内容。

但是我得到以下错误。

“'string.Replace(char,char)'的最佳重载方法匹配具有无效参数”
参数2:无法从“字符串”转换为“字符””

最佳答案

使用单引号而不是双引号:

ReadString.Replace(ASC_Cr, ('¬'));


C#使用单引号表示字符,使用双引号表示字符串。

09-10 12:07