本帖最后由 Mr_Jis 于 2013-09-18 14:31:26 编辑

解决方案 »

  1.   

    我是应该用一个变量把数组A存起来,再给B、C,即:
    index=A[IndexA][IndexB]
    B[index]
    C[index]还是直接调用,即:
    B[A[IndexA][IndexB]]
    C[A[IndexA][IndexB]]都是一样一样滴.最多多用点空间,性能基本相同的情况下还是注重可读性吧,一旦改动,
    也许
    B[A[IndexA][IndexB]]
    C[A[IndexA][IndexB]]
    这样的就坑爹了.
      

  2.   

    你这个根本不是二维数组,而是交错数组。因为交错数组不能直接寻址,所以效率要远远低于二维数组。本质上,二维数组是一维数组的一种语法糖(相对于机器代码而言,不是相对IL而言)
    当你写 int[x, y]的时候,其实就是定义了int[x * y]
    当你访问 arr[i, j]的时候,其实访问的是arr[i * y + j]