因此,根据我对string
vsStringBuilder
的理解,字符串生成器实际上会修改自身的实例,而字符串只会创建一个新实例。因此,如果我正确理解这一点,那么通过对不断变化的变量使用字符串方法,我基本上最终可以使用所有内存,直到计算机需要转储它以腾出空间。
我正在做的是使用事件处理程序来监视串行通信。我将接收数据并解析出来,并将其显示在文本框中。事件处理程序当前使用字符串来完成此操作。考虑到更好的编程并且在不需要时不使用所有内存,我正在尝试清理我的代码。
我开始使用字符串生成器进行编码,并开始得到StringBuilder
不包含 .contains 方法的构建错误。
基本上我很好奇我是否应该不理会它?我应该以不同的方式处理这个问题吗?我是否有正确的理解,这string
将不可避免地使我失去记忆?
private void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
{
SerialPort sp = (SerialPort)sender;
string indata = sp.ReadExisting();
rx.AppendText(Environment.NewLine + indata);
string dataCheck = indata.ToUpper();
if (dataCheck.Contains("CONNECT") || indata.Contains("CONNECTED"))
{
cState.Text = "Connected";
connectLink();
}
if (dataCheck.Contains("NO CARRIER"))
{
cState.Text = "Disconnected";
disconnect();
}
dataCheck = null;
}