清除按钮阵列

时间:2013-03-25 22:18:02

标签: c# arrays winforms visual-studio-2010 button

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

Button[][] buttons;

在方法中:

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

如果buttons[][]row发生变化,我该如何清除和重置col呢?

2 个答案:

答案 0 :(得分:3)

是的,有。您可以调用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>();

要像二维数组一样使用它,您需要一个嵌套列表(基本上,List包含一个包含List个对象的Button。语法有点吓人,但要弄清楚它意味着什么并不难:

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

答案 1 :(得分:-1)