Hashtable类未处理System.AccessViolationException

时间:2018-09-19 21:06:53

标签: c# hashtable access-violation

我正在用C#编写程序。我收到AccessViolationException,但不知道为什么。再加上我的try and catch语句没有抓住它。 这是我的代码:

static public Hashtable GetSpectrumFromTidas(int integrationTime, int maxWaveLength, int minWaveLength, double spectrometerAveragingFactor, string ipAddressTidas)
{
    Hashtable readValues = new Hashtable();
    int[] vals;
    //vals = new int[spectrometerDataSize];

    int numAverages;
    //if(integrationTime <100)
    numAverages = (int)Math.Floor((double)100 / integrationTime * spectrometerAveragingFactor) + 1;

    vals = tidas.readSpectrum(integrationTime, numAverages, 2, ipAddressTidas);

    try
    {
        for (int i = minWaveLength; i <= maxWaveLength; i++)
        {
            float data = tidas.getSpectrumData(i, ref vals) / numAverages;
            readValues.Add(i.ToString(), string.Format("{0:N}", data));
        }
    }
    catch (Exception err)
    {
        MessageBox.Show(err.Message);
    }
    return readValues;
}

现在,它并不总是发生,只是有时。而我正在使用的Hashtable类来自Collection lib。

它发生在readvalues.add(....)

0 个答案:

没有答案