以编程方式检查 C# 中是否存在 COM 端口

Programmatically check if a COM port exists in C#

我刚开始使用 C# 中的 SerialPort 对象,我意识到它会抛出一个异常,提示 "COM1" 不存在。 我检查了我的设备管理器以查看我可以使用哪些 COM 端口,但是有没有办法找出可用的 COM 端口并以编程方式 select 其中之一?

是的,使用 SerialPort.GetPortNames(),其中 returns 可用端口名称的字符串数组。

然后通过在构造函数中指定其中一个名称来创建您的 SerialPort 对象。

string[] ports = SerialPort.GetPortNames();
SerialPort port = new SerialPort(ports[0]);  // create using first existing serial port, for example

一行:

if(SerialPort.GetPortNames().ToList().Contains(comportName)) 
{
    port = new SerialPort(comportName)
}

这是另一种方式

string portExists = SerialPort.GetPortNames().Any(x => x == "COM1");