Как я могу получить счет из поиска ManagementObject? - PullRequest
2 голосов
/ 19 января 2012

У меня есть немного кода, чтобы получить некоторую информацию из WMI в C # для мониторов, подключенных к компьютеру. Код такой ...

String queryString = "Select * from Win32_DesktopMonitor";
ManagementObjectSearcher searcher = new ManagementObjectSearcher(queryString)
foreach (ManagementObject obj in searcher.Get())
{
    ...
}

Как узнать, сколько объектов возвращается из этого запроса, не считая при перечислении?

Очень новичок в этом, так что будьте нежны! : -)

Ответы [ 3 ]

4 голосов
/ 19 января 2012

Я думаю, вам нужно запустить функцию Get(), чтобы получить количество объектов:

  String queryString = "Select * from Win32_DesktopMonitor";
  ManagementObjectSearcher searcher = new ManagementObjectSearcher(queryString);
  MessageBox.Show("Found: " + searcher.Get().Count.ToString());
1 голос
/ 19 января 2012

Полагаю, вы не спрашиваете:

String queryString = "Select * from Win32_DesktopMonitor";
ManagementObjectSearcher searcher = new ManagementObjectSearcher(queryString);
Int32 i = 0;
foreach (ManagementObject obj in searcher.Get())
{
  i++;
}
// I have one computer so, i = 1
0 голосов
/ 27 марта 2018

Лучший способ здесь для метода Count в Classes ManagementObjectColletion или в ManagementObjectSearcher.Если вы собираетесь использовать результат, лучше сделать следующее:

ManagementObjectCollection jobs = searchJob.Get();

и выполнить проверку для размера, подобного этому:

if(jobs.Count > number) do
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...