【发布时间】:2013-05-15 10:33:04
【问题描述】:
我需要检查我的应用程序中的可用 COM 端口:
我创建了两种方法来做到这一点。
方法一:
public List<string> GetAllPortsForeach()
{
var allPorts = new List<string>();
foreach (String portName in System.IO.Ports.SerialPort.GetPortNames())
{
allPorts.Add(portName);
}
return allPorts;
}
方法二:
public List<string> GetAllPortsForLoop()
{
var allPorts = new List<string>();
for (int i = 1; i <= 16; i++)
{
string comPortName = "COM" + Convert.ToString(i);
SerialPort sp = new SerialPort(comPortName);
try
{
sp.Open();
allPorts.Add(comPortName);
sp.Close();
}
catch
{
}
}
return allPorts;
}
哪个最快?我应该使用哪个?为什么?
【问题讨论】:
-
描述它并告诉我们。一般来说,您在 .net 中使用的内置功能越多越好。
-
方法1,因为它没有尝试打开端口,这很耗时。
标签: c# for-loop foreach serial-port