日期:2014-05-19  浏览次数:20768 次

C#中的二维数组问题
假如在C++中有如下代码:

        void   fun(int   a[])
        {
                .....
        }
        int   main()
        {
                int   b[N][N];
                for(int   i=0;   i <N;   i++)
                        fun(b[i]);
                return   0;
        }
那么在C#中改写成:
        public   void   fun(int[]   a)
        {
                .....
        }
        public   static   void   Main(string   args[])
        {
                int[][]   b   =   new   int[N][N];
                for(int   i=0;   i <N;   i++)
                        fun(b[i]);       //这里是错误的
                return   0;
        }
我的问题是如何在C#中把二维数组b[N][N]中的b[i]当作一维数组传递给其它函数,也即fun(int[]   a),请高手指点,不胜感激!

------解决方案--------------------
Sample code as follows:
int[][] b = new int[N][];
for( int i = 0; i < N; ++i )
{
b[i] = new int[N];
fun( b[i] );
}