【发布时间】:2015-03-16 10:27:18
【问题描述】:
我正在通过串行端口向 C# 发送文本。该文本包含\r,它将成为超级终端中的一个新行。现在我想用 C# 阅读这个 \r 。我该怎么做?
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
RxString = serialPort1.ReadLine();
this.Invoke(new EventHandler(DisplayText));
}
private void DisplayText(object sender, EventArgs e)
{
string str = RxString;
if(str == "\r")
{
MessageBox.Show("This is a new line");
}
}
【问题讨论】:
-
您是否仅需要使用
\r作为行分隔符?如果是这样,只需设置NewLine属性。 -
不,我也可以使用\n\r。但是 \r 工作得很好。
-
我使用了 if(str == Enviroment.newline) 但它不起作用。
-
我想你误解了我的意思——你需要将“\n”作为行分隔符吗?请注意,
ReadLine永远不会返回行分隔符本身。它返回文本行。 -
也许 str.contains('\r') 可以解决问题
标签: c# if-statement serial-port newline