我定义二维数组变量
string [100,100] a = new string[100,100];然后用双层循环语句给予他赋值 提示错误 "使用了未赋值的局部变量".  我记得在VB里不是这样啊 为什么C#非要这样? 该怎么解决?

解决方案 »

  1.   

    你的数组定义错了吧?string [,] a = new string[100,100];
      

  2.   

    楼主写错了吧,二维数组的定义
     string[,] a=new string[100,1000];
    for (int i = 0; i < a.GetLength(0); i++)
          {
              for (int j = 0; j < a.GetLength(1); j++)
               {
                 a[i, j] = "";
            }
         }
      

  3.   

    如果VB不是这样的话,可能你的应用不对或者VB通过什么手段进行了处理。
    字符串是引用类型,创建一个字符串变量,只是在栈上创建了一个变量标签,当你给字符串赋值时,会在堆上创建你的内容,并将地址放入栈上的变量标签中。
    当你没有赋值时,你的变量标签内是空的,所以会如此提示。
      

  4.   

    string [,] a = new string[100,100];
    for(int i=0;i<a.GetLength(0);++i)
    {
       for(int j=0;i<a.GetLength(1);++j)
        {
           a[i,j]=i*j;//初始化数组
          Console.write("{0}",aa[i,j]);
        }}
    这样就行了吧,你试一下!!
      

  5.   

    变量初始化.VB.NET里面不需要是因为编译器魔法,编译器帮你干了,C#里面不行,是因为编译器不想帮你干了.
      

  6.   

    string[,] a=new string[100,1000];
    for (int i = 0; i < a.GetLength(0); i++)
          {
              for (int j = 0; j < a.GetLength(1); j++)
               {
                 a[i, j] = "";
            }
         }
      

  7.   


      string [,]a = new string[100,100];
            for (int i = 0; i <100; i++)
            {            for(int j=0;j<100;j++)            a[i, j] = i+""+j;
            }        for (int i = 0; i < 100; i++)
            {            for (int j = 0; j < 100; j++)
                {
                    if (j % 50 == 0)
                        Response.Write("<br/>");
                    Response.Write(a[i, j].ToString() + "   ");
                }
                   
            }
      

  8.   


     String[100,100] a  = new string[100, 100];这是不正确的
     String[,] a  = new string[100, 100];          //或者这样定义 string [][] muliArray=new string[2][]
    其实就等于string[]muliArray=new string[2]; muliArray[0]=new string[2];muliArray[1]=new string[2];  
                                //同内部构造就是    0  1
                                //                  1  0     
      

  9.   


    on error resume next!
    '怀念vb6.0
    '它封装了好多!
    '所以你用起来的时候才不用考虑那么多!
      

  10.   

    要分清楚 强类型变量  和若类型变量
      JS  的var  定义 变量 你可以不给他赋值
    C# 是强类型语言;因此每个变量和对象都必须具有声明类型。