在c#中,我如何声明一个二维数组的按钮?
是-在第一个版本中,变量没有明确赋值。在第二种情况下,它是明确赋值的,具有默认值(0)。
int a;
Console.WriteLine(a); // Error!
int a = new int();
Console.WriteLine(a); // Prints 0
然而,我不认为我真的故意写过new int()
。你通常会这样写:
int a = 0;
是一种可读性更强的方法。对于泛型方法,您可以使用default(T)
或new T()
,但是,如果T
被限制为非空值类型。
数组是一个完全独立的问题,应该单独询问。
后者(int a = new int();
)赋值-它基本上与int a = 0;
或int a = default(int);
相同。这意味着,如果它是一个局部变量,则定赋值规则满足。对于第一个(int a;
),您不能使用它,直到它被分配。例如,如果没有显式地给a
一个值,Console.WriteLine(a);
就会失败。
注意字段(又名实例变量和类型级变量)本质上被视为"分配"其默认值(在本例中为0
),因此在字段的情况下,它只是冗余代码。
第一个只是声明了一个整型变量,没有初始化它的值:
int a;
因为它还没有初始化,所以在给它赋值之前不能使用它。
第二个声明整型变量,并将其初始化为默认值。
int a = new int();
要回答第二个问题,可以声明任意类型的二维数组,如下所示:
Button[,] buttons;
使用
将数组初始化为一定的大小Button[,] buttons = new Button[4, 5];
虽然,数组中的元素item将被初始化为其类型的默认值