我正在使用以下代码创建按钮网格:
Button[][] buttons;
在方法中:
for (int r = 0; r < row; r++)
{
for ( int c = 0; c < col; c++)
{
buttons[r][c] = new Button();
}
}
如果buttons[][]
或row
发生变化,我该如何清除和重置col
呢?
答案 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)