我可以处理位图/picturebox数组吗?C#

本文关键字:数组 picturebox 处理 位图 我可以 | 更新日期: 2023-09-27 18:27:01

我写了一个算法来检测边缘不完美的晶体(圆形)。由于我不知道我的系统中会出现多少晶体,我不得不进行一个安全的估计(即100个晶体)。因此,我将pictureboxes数组和位图数组定义如下:

    public PictureBox[] segment = new PictureBox[100];
    public Bitmap[] cropped = new Bitmap[100];

当算法完成时。我可以运行一个循环来计算晶体的数量(等于上面裁剪或分段数组的非空成员的总和)。为了使程序变得更好,我想知道是否可以处理/截断这两个数组。

我可以处理位图/picturebox数组吗?C#

如果您不知道晶体的最终数量,我建议使用Collections(例如列表)。因此,您不必计算不为null的值,只需计算列表的长度即可。列表具有动态长度。这意味着您不必声明固定长度,并且可以添加任意数量的元素(理论上)。

List<PictureBox> segment = new List<PictureBox>();
List<Bitmap> cropped = new List<Bitmap>();

请参阅:http://www.dotnetperls.com/list

但回到您的问题:我假设通过将null指定为数组的值,.NET垃圾收集器将为您处理内存的重新分配。

请参阅:http://msdn.microsoft.com/de-de/library/0xy59wtx(v=vs.110).aspx

很抱歉给你一个错误的信息,请参阅以下文章:如何删除c#中的数组?