c# 把二维数组当一维数组使用?

比如, arr2 ={{1,2,3}, {2,4,3},{6,7,8}} ;
arr2 中第二行第二列的元素 4 可以用下标法 arr2[1,1] 表示,如何像C语言中指针的表示方法,arr2 +4 数组首地址加上指针偏移4个的int 长度。就是不用下标法表示第二行第二列的元素。

用unsafe代码实现,如下

class Program
{
    unsafe static void Main(string[] args)    
    {
    
        byte[,]arr2 ={{1,2,3}, {2,4,3},{6,7,8}};
        fixed (byte* p = &arr2[0, 0])
        {
            for (int i = 0; i < 9; i++)
            {
                Console.WriteLine(*(p + i));
            }
        }
    }
}

温馨提示:答案为网友推荐,仅供参考
相似回答