public class  A
    { 
         public static double[] W =  { 192.68, 286.18, 419.71, 595.21, 804.73, 1073.42, 1425.53, 1817.36, 2256.73, 2693.5 };
        public static double[] lg_W;        
       public A()
            {
                     for(int i=0;i<W.Length;i++)       
                                  lg_W[i]=Math.Log10(W[i]);            }
这是个model类,有问题吗?
在窗体里有  A a=new A();
为什么调试时一实例化 就自动到 窗体的 dispose。
也不报错。真无奈
哪位前辈给我指点指点 ,  谢谢

解决方案 »

  1.   


    public A()
    {
        lg_W = new double[W.Length];    for(int i = 0; i < W.Length; i++)
            lg_W[i] = Math.Log10(W[i]);
    }
      

  2.   

    public static double[] lg_W=new double[];
      

  3.   

    你用static的变量,必需放在静态方法里,...把static去掉就可以了...或者是在构造函数前加一个static...然后去掉 A a=new A();直接调用就行了...
      

  4.   

    感谢各位大侠的帮助,我现在又出现个问题:
    我不想把
    for(int i = 0; i < W.Length; i++)
              lg_W[i] = Math.Log10(W[i]);
    写在构造函数里。因为lg_W也是static。而我每次在窗体中实例化A a=new A();
    lg_W的值居然还没有变,还都是0.
      

  5.   

    你又不写在构造函数里,又不给lg_W赋初始值,当然是零啦
      

  6.   

    public static double[] lg_W;
    lg_W没有分配空间 你就赋值le 
      

  7.   

     public static double[] lg_W = new double[W.Length];lg_W[i]=Math.Log10(W[i]);  //这里有问题 lg_W[i] 是不存在的.