在 C# 中,如何声明一个二维按钮数组?
问问题
1197 次
3 回答
7
是的 - 在第一个版本中,变量没有被明确分配。第二种是肯定赋值的,默认值(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
被限制为不可为空的值类型。
数组是一个完全独立的问题,应该单独提出。
于 2013-04-15T14:45:53.293 回答
3
后者 ( int a = new int();
) 赋值 - 它与int a = 0;
or基本相同int a = default(int);
。这意味着,如果它是一个局部变量,则明确赋值的规则是满意的。对于第一个 ( int a;
),在分配之前您不能使用它。例如,Console.WriteLine(a);
如果您没有明确给出a
值,则会失败。
请注意,字段(又名实例变量和类型级变量)本质上被视为“分配”了它们的默认值(0
在这种情况下),因此在字段的情况下,它只是冗余代码。
于 2013-04-15T14:46:13.863 回答
1
第一个只是声明一个整数变量而不初始化它的值:
int a;
因为它还没有被初始化,所以在你给它赋值之前你不能使用它。
第二个声明整数变量并将其初始化为默认值。
int a = new int();
要回答第二个问题,您可以声明一个任意类型的二维数组,如下所示:
Button[,] buttons;
要将数组初始化为特定大小,请使用
Button[,] buttons = new Button[4, 5];
虽然,数组中的元素 item 将被初始化为其类型的默认值。
于 2013-04-15T14:45:33.543 回答