1

我的程序在运行 open() 时给了我两个例外。

我已经做了很多搜索,但我无法解决它。有人可以帮助我,我对编程充满热情。所以,我不太清楚如何解决这些错误。

public void tempcpu()
{
    myComputer = new Computer()
    {
        MainboardEnabled = true,
        CPUEnabled = true,
        RAMEnabled = true,
        GPUEnabled = true,
        FanControllerEnabled = true,
        HDDEnabled = true
    };
    myComputer.Open();

    float averange = 0;
    foreach (var hardware in myComputer.Hardware)
    {
        if (hardware.HardwareType == HardwareType.CPU)
        {
            hardware.Update();
            foreach (var sensor in (hardware.Sensors))enter code here
                if (sensor.SensorType == SensorType.Temperature)
                {if(sensor.Value!= null)
          averange = averange + sensor.Value.Value;
                }
             }
        cpu = averange / 5;
        myComputer.Close();
    }
} 

例外:

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

0

myComputer.Close();从你的循环中删除foreach并在之后放置 if 。您在myComputer循环的第一次迭代后关闭,然后尝试再次访问它,因此您的ArgumentOutOfRangeException.

也不确定它是否是一个错字或者它是否是你的代码的一部分,但你不应该enter code here在你的方法中间:-)

于 2017-02-06T12:25:55.677 回答