如何检查 WMI 查询是否返回 0 行?

Wik*_*cha 4 c# wmi

我正在编写一个明显错误的 C# 代码。我正在尝试使用 WMI 查询获取随身碟数据,并在继续操作后,检查查询是否返回 0 行以避免错误。

ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_USBDevice");
ManagementObjectCollection drive = searcher.Get();
if (drive == null)
{
    MessageBox.Show("Failed to read data.");
    Application.Exit();
}
Run Code Online (Sandbox Code Playgroud)

显然这个drive == null方法是行不通的。我怎样才能以正确的方式检查它?而且,这是获取随身碟数据的正确方法吗?

Pan*_*are 5

使其万无一失:

if (drive==null || drive.Count == 0))
{
   MessageBox.Show("Failed to read data.");
   Application.Exit();
}
Run Code Online (Sandbox Code Playgroud)