C#新建的二维数组如何释放?? 80

如题,在C#里面如何释放二维数组?我知道在C++里面可以用delete,但不知道在C#该怎样操作,请高手指点是这样的,我申请一数组空间pixel,byte[,]pixel... 如题,在C#里面如何释放二维数组?我知道在C++里面可以用delete,但不知道在C#该怎样操作,请高手指点
是这样的,我申请一数组空间pixel, byte[,] pixel=new byte[10000, 10000];,该数组用来储存一张图片的像素灰度值,当我打开更大的另外一幅图片,同时也想保存在pixel数组里面时,原来的数组已经不够用,要把原来数组占的空间完全释放掉,再申请一个更大的数组空间。
但我该如何去释放原来的空间呢?
展开
 我来答
kid83
2009-09-02 · TA获得超过2081个赞
知道大有可为答主
回答量:1818
采纳率:0%
帮助的人:2002万
展开全部
.NET回收资源是按"代"(Generic),自动回收释放,也许有时候即使你认为地去Obj.Dispose(),以及obj = null对象也未必一定立刻释放所占内存.Framework会根据当前的可用资源,以及调度原则去实现资源的分配.如果资源不够,会自动回收某些没有改变的资源,而不一定是立刻回收.但是总体来说,不会在硬件资源充足的情况下,而出现资源调度造成程序崩溃的现象.
对于LZ的担忧,我建议重新给数组赋值即可.比如把byte[,] pixel=new byte[10000, 10000];改变成另外一个更多元素的数组.byte[,] pixel=new byte[20000, 20000];即可,一般情况下, 原来的资源会释放.
百度网友93de334
2009-09-03 · TA获得超过144个赞
知道小有建树答主
回答量:132
采纳率:0%
帮助的人:102万
展开全部
自动回收的把,你可以把数组写在一个单独的方法里,让他自动回收
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小乌龟iK
2009-09-02 · TA获得超过3581个赞
知道大有可为答主
回答量:1885
采纳率:57%
帮助的人:648万
展开全部
C#是托管的.不需要手动释放.CLR会自动回收垃圾的.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wujiazhao1988
2009-09-02 · TA获得超过413个赞
知道小有建树答主
回答量:397
采纳率:0%
帮助的人:305万
展开全部
int[][] xxx={xxx000...}
xxx=null;
这样系统会自动回收{xxx000...}暂用的内存,因为他已不被任何对象引用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
谏项禄淳美
2020-03-01 · TA获得超过3705个赞
知道大有可为答主
回答量:3057
采纳率:30%
帮助的人:205万
展开全部
不用管他,托管数据类型在生命周期结束后,垃圾回收会自动处理
也可以强制垃圾回收器处理:GC.Collect();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式