Properties["Processorid"].Value.ToString()异常

linmilove 2009-12-01 09:44:50
//获得CPU的序列号
public string getCpu()
{
string strCpu = null;
ManagementClass myCpu = new ManagementClass("win32_Processor");
ManagementObjectCollection myCpuConnection = myCpu.GetInstances();
foreach (ManagementObject myObject in myCpuConnection)
{
strCpu = myObject.Properties["Processorid"].Value.ToString();//异常:System.NullReferenceException: 未将对象引用设置到对象的实例
break;

}
return strCpu;
}

上面一段代码在我机器(CPU是赛扬2.4)上出现"System.NullReferenceException: 未将对象引用设置到对象的实例"异常,但在其他机器确可正常运行,请问可能是什么原因.
...全文
215 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Sugar_Tiger 2009-12-02
  • 打赏
  • 举报
回复
建议用as String,因为当结果为Null时,ToString()会异常,而as String会返回Null.
wuyq11 2009-12-01
  • 打赏
  • 举报
回复
下载WMI管理工具WMITools.exe
检查ProcessorId是否为空,如果为空,利用WMITools为其赋值。
Mirana_NightShade 2009-12-01
  • 打赏
  • 举报
回复
up
bancxc 2009-12-01
  • 打赏
  • 举报
回复
可能这个机器没有cpu

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧