C#访问ManagementObjectCollection中的管理对象

前端之家收集整理的这篇文章主要介绍了C#访问ManagementObjectCollection中的管理对象前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图在不使用foreach语句的情况下访问ManagementObjectCollection中的ManagementObjects,也许我错过了一些但我无法弄清楚如何去做,我需要做类似以下的事情:
ManagementObjectSearcher query = new ManagementObjectSearcher(
     "select Name,CurrentClockSpeed from Win32_Processor");

ManagementObjectCollection queryCollection = query.Get();

ManagementObject mo = queryCollection[0];

解决方法

ManagementObjectCollection实现IEnumerable或ICollection,因此要么必须通过IEnumerable(即foreach)迭代它,要么通过ICollection复制到数组.

但是因为它支持IEnumerable,所以你可以使用Linq:

ManagementObject mo = queryCollection.OfType<ManagementObject>().FirstOrDefault()

OfType<&的ManagementObject GT;是必需的,因为ManagementObjectCollection支持IEnumerable但不支持IEnumerable of T.

猜你在找的C#相关文章