高分之下,我也留留口水。
不知你知不知道,你的写法错了?
int [,]就是楼上所说的二维数组,他是“整齐”的,也就是说每一维都相等。他可以是“正方形”、“立方体”......,而你写的{{2,3},{1,2,3,4}}两维“不整齐”,所以是错的。
例如,int[3,5]是这样的:
  xxxxx
  xxxxx
  xxxxx
多么整齐的方块!:)int[][]是数组的数组(AOA),“可以声明成锯齿数组”,不过你的写法也不正确,应该是
int [][]={new int[]{2,3},new int[]{1,2,3,4}}; 可以看出他的元素就是数组。
他是这样的,不整齐:
  xx
  xxxx
一共六个元素,没有你说的“0,0”。

解决方案 »

  1.   

    关于锯齿数组,举一个例子
    using System;class Control
    {
        virtual public void SayHi() 
       {
           Console.WriteLine("Base control class");
       }
    }class Button : Control
    {
        override public void SayHi()
        {
            Console.WriteLine("buttom control");
        }
    }class Combo : Control
    {
        override public void SayHi()
        {
            Console.WriteLine("combobox control");
        }
    }class JaggeArrayApp 
    {
      

  2.   

    上面没贴好
    using System;class Control
    {
        virtual public void SayHi() 
       {
           Console.WriteLine("Base control class");
       }
    }class Button : Control
    {
        override public void SayHi()
        {
            Console.WriteLine("buttom control");
        }
    }class Combo : Control
    {
        override public void SayHi()
        {
            Console.WriteLine("combobox control");
        }
    }class JaggeArrayApp 
    {
        public static void Main()
        {
            Control[][] controls;
            controls = new Controls[2][];
            
            controls[0] = new Control[3];
            for(int i = 0; i < controls[0].Length; i++)
            {
                controls[0][i] = new Button();
            }        controls[1] = new Control[2];
            for(int i = 0; i < controls[1].Length; i++)
            {
                controls[1][i] = new Combo();
            }        for(int i = 0; i < controls.Length; i++)
            {
                for(int j = 0; j < controls[i].Length; j++)
                {
                    Control control = controls[i][j];
                    control.SayHi();
                 }
           }
           string str = Console.ReadLine();   
       }
    }以上代码摘自《Inside C#》 
      

  3.   

    呵呵
    using System后面应该是英文分号:)
      

  4.   

    好的,谢谢大家!
    CForce() 125
    looluo(小猪) 100
    ripper(rIPPER) 50
      

  5.   

      如ripper所说,[][]其实是数组的数组,由于它的成员本身又是一个数组,所以对其中数据的引用必须经过两次操作,例如a[4][5]实际上是:
       int[] temp = a[4];
       temp[5];
      而[,]可以想象成一块m*n大小的连续内存(.NET内部也应该是这样处理的),所以对元素的访问是直接的一次操作,a[4,5](设a定义为a[10,10]):
       int offset = 4*10 + 5;
       memory(a) [offset] //内部操作,读取a对应的10*10内存的第offset个元素。
     所以,[,]的效率要比[][]好的多,如果不是必须(不确定第二维的大小),一般不要使用锯齿数组。