您的位置:首页 > 编程语言 > C#

C#申请大内存空间的二维数组

2017-06-15 10:23 375 查看
C#申请大内存空间的二维数组

        最近在做图像处理时,遇到要申请大内存的二维数组问题,首先用New,结果总报内存溢出。后来改用System.Array,网上资料又少,Demo也找不到合适的,所以就做了个Demo,调通了,不过还存在一个问题,Demo单独运行没问题,但是放到图像的APP中对于大于10000的行数据还是会溢出,现在分享给大家,互相学习,共同改进。
        我是在VS2013下创建了窗口应用程序,将申请的代码写到了form_load中,调试通过输出窗口查看运行结果。
        private void Form1_Load(object sender, EventArgs e)

        {

            //申请大内存空间的二维数组

            int n = 20500;

            System.Array bandArrayG=System.Array.CreateInstance(typeof(Int16),n,n) ;

            

            for (int j = 0; j < n; j++)

            {

                Int16[] p = new Int16
;

                for (int i = 0; i < n; i++)

                {

                    p[i] =(Int16)((i*j)%1000);

                    bandArrayG.SetValue(p[i],i,j) ;

                }

            }

            for (int i = 0; i < n; i++)

            {                

                System.Console.Write('\t');

                System.Console.Write(bandArrayG.GetValue(i, 10));

            }

            System.Console.Write("Successs");

        }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# 二维数组 内存