清除按钮阵列

本文关键字:阵列 按钮 清除 | 更新日期: 2023-09-27 18:05:43

我正在使用以下代码创建一个按钮网格:

Button[][] buttons;

方法中:

for (int r = 0; r < row; r++)
    {
       for ( int c = 0; c < col; c++)
           {
             buttons[r][c] = new Button();
           }
    }

如果rowcol发生变化,我如何清除和重置buttons[][],有办法吗?

清除按钮阵列

是的,有。您可以调用Array.Clear()函数。由于数组包含Button对象,这些对象是引用类型,因此它会将数组中的每个项重置为null

Array.Clear(buttons, 0, buttons.Length);

然而,我强烈建议使用一个通用容器,而不是原始数组。例如,List<T>将是一个不错的选择。在您的情况下,T将是Button

using System.Collections.Generic;  // required at the top of the file for List<T>
List<Button> buttons = new List<Button>();

要像使用二维数组一样使用它,您需要一个嵌套列表(基本上是一个包含ListList,其中包含Button对象(。语法有点吓人,但不难理解它的含义:

List<List<Button>> buttons = new List<List<Button>>();

您可以调用Clear((方法

http://msdn.microsoft.com/en-us/library/system.array.clear.aspx