我刚接触C#语言,所以,有一个小问题想请各位大侠指教
在C#多维数组中,有没有什么方法可以得到列的总数?
例如:
    int[,] arr = new int[,]{{1,2,3},{4,5,6}};
    我现在能获取到arr对象的维数,但如何能获取到arr的列的总数呢?

解决方案 »

  1.   

    arr.Rank(),獲取維數
    arr.GetLength(),獲取指定維數中的元素個數
      

  2.   

    还得请教楼上的大侠,arr.GetLength()中的参数是什么意思?
           int[,] arr = new int[,]{{1,2,3},{4,5,6}};
    for(int i=0;i<arr.Rank;i++)
    for(int j=0;j<arr.GetLength(i);j++)
    Console.WriteLine(arr[i,j]);        为什么我给arr.GetLength(i)的时候会把三丢失呢?
            而我这么写就不会呢?        int[,] arr = new int[,]{{1,2,3,11,22,33},{4,5,6,44,55,66}};
    for(int i=0;i<arr.Rank;i++)
    for(int j=0;j<arr.GetLength(1);j++)
    Console.WriteLine(arr[i,j]);        会什么给GetLength(1),给出就不会丢失呢?
      

  3.   

     int[,]   arr   =   new   int[,]{{1,2,3},{4,5,6}};
    --------------------------
    對於上面這個數組,實際是int[2,3]
    使用arr.GetLength(1),才是正確的,返回第一維的個數,是3
    使用arr.GetLength(0),返回的是第0維的個數,是2
      

  4.   

    arr.Length就可以了啊。不用这个方法,用属性就可以了。
      

  5.   

    to: LZ你的理解是錯的,還真不好表達,我舉例說明吧:
    int[,] arr= new int[,]{{1,2,3},{4,5,6}};
    這個數組實際就是arr[2,3]   ,2是第0維的個數,3是第1維的個數
    int[,] arr= new int[,]{{1,2,3},{4,5,6},{7,8,9},{10,11,12}};
    如果這樣定義這個數組的話,這個數組就是arr[4,3], 4是第0維的個數,3是第1維的個數
    不知道這樣,你是否明白to: lye2000000_super  
    arr.Length是取得所有維數的個數,對於這個數組而言,結果是6,不是期望的結果.
      

  6.   

    我明白了,int[2,3] 
    也就是说第零维表示行,
    第一维表示列,
    我现在要取得的是列的总数,
    所以,GetLength()参数应该给列,
    因为我要取列的总数嘛!我可以这样理解吗?
      

  7.   

    明白了,谢谢楼上的大侠!能留下您的QQ或MSN吗?
    以后有不明白的,好请教您,不知道麻不麻烦您!
      

  8.   

    很少上QQ和MSN,CSDN熱心的人很多,你提出問題,自然有人幫你解答
      

  9.   

    还有一个问题,foreach咋用啊!
    没用过这个语句,不太熟!
    能给一个小例子吗?
    谢谢!