我定义了一个 ArrayList 对象 al 后。
al[num] 就可以访问到这个对象的成员。然而我需要将成员转换为 float 类型。做了好几次,还是不行。我用了如下的方法:
(float)al[num]  //不行
float.parse(al[num])  //不行
(float)al[num].toString()  //不行
float.parse(al[num].toString())  //不行有没有解决的方法?

解决方案 »

  1.   

    Convert.ToDouble(al[num])
    Convert.ToSingle(al[num])
      

  2.   

    把你添加arraylist的代码贴下看看
      

  3.   

    (float)Convert.ChangeType(al[num],typeof(float))
      

  4.   

    还有个问题,想问一下:
    al[num-1] //这里的num-1 可能会等于 -1。那么运行时将回有异常发生。为了解决这个问题,我另外写了个函数如下:private int getNonZeroNumber(int Value)
    {
    if (Value < 0)
    return 0;
    else
    return Value;
    }我就这么调用,然而还是有异常。请问该怎么办?al[getNonZeroNumber(num-1)]
      

  5.   

    如果index超出范围,一般会有threw一个ArgumentOutOfRangeException你的做法可以确保不是<0的index,但up bound越界了吗?try一下可以方便一点
    只要catch ArgumentOutOfRangeException就可以了,别的不用catch