【发布时间】:2020-04-29 08:56:57
【问题描述】:
我正在构建 C# 控制台应用程序以从 serialPort 读取设备名称。我设法将所有连接的 deviceNames 打印到控制台。控制台输出如下所示:
Scanning...
---------------------------------
Connected devices:
1. DeviceName1
2. DeviceName2
3. DeviceName3
现在,如何从下到上读取输出,直到第一个空行?而不是让Console.ReadLine() 让用户可以通过在 deviceName 前面输入数字来选择设备。
这是我正在使用的代码:
var serialPort = new System.IO.Ports.SerialPort()
// Read the data that's in the serial buffer.
var deviceName = serialPort.ReadExisting();
// Write to debug output.
Console.WriteLine($"\n---------------------------------");
Console.WriteLine($"\nConnected devices:\n");
Console.WriteLine(deviceName);
string input;
do
{
// Here I need posibility for user
// to type number infront deviceName
} while (deviceName.ToUpper() != null);
【问题讨论】:
-
你确定需要解析控制台输出来获取想要的数据吗?从串口读取并打印到控制台的当前代码是什么样的?听起来你的事情过于复杂了。
-
我已将蓝牙加密狗连接到 SerialPort。我发出命令
dongle list-device。比我得到有问题的输出。现在我需要向选定的设备发送消息。 -
我用从 SerialPort 读取和打印到控制台的代码更新了问题。
标签: c# .net console console-application