int[] aa =null;
            int[] aa1 ={1,2};            aa = aa1;这样没问题            int[] aa =null;
            aa = {1,2};这样就报错
为什么?

解决方案 »

  1.   

    int[]   aa1   ={1,2}; 这个是给数组赋值,已经初始化过了,而你:
      int[]   aa   =null; aa   =   {1,2}; 这样并没有初始化,没有初始化,就直接赋值,那么肯定错误!int []aa;
    aa=new int[2];
    aa[0]="abc";
    aa[1]="dsfds";
    或者int []aa=new int[2];
    aa[0]="abc";
    aa[1]="dsfds";或者 int[]aa=new int[2]{"abc","dfd"};
      

  2.   

    要象这样        int[] aa = null;
            aa = new int[] { 1, 2 };
      

  3.   

    int[] aa;               // 声明
    aa = new int[]{1,2};    // 赋值
    int[] aa1 = {1,2};      // 声明兼初始化
      

  4.   

       int[] aa ; 
                            aa   =   {1,2}; 
      

  5.   

    那严格来说
    int[] aa1 = {1,2};
    也应该写成
    int[] aa1 = new int[]{1,2};
    我试了一下没报错
    那第一种应该是简写模式吧
      

  6.   


    int[]   aa1   =   {1,2}; 
    //象这种写法在javascript称直接量
    //在C#貌似没听这“直接量”的说法
    //不过这两种写法都正确的,而且也没有褒贬之分,编译后应该是一样的