加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#访问ManagementObjectCollection中的管理对象

发布时间:2020-12-15 08:23:26 所属栏目:百科 来源:网络整理
导读:我试图在不使用foreach语句的情况下访问ManagementObjectCollection中的ManagementObjects,也许我错过了一些但我无法弄清楚如何去做,我需要做类似以下的事情: ManagementObjectSearcher query = new ManagementObjectSearcher( "select Name,CurrentClockSp
我试图在不使用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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读