用C#编程时遇到过几次这样的问题,就是想不通为什么会出错,今天拿给各位看看,还望不吝赐教.我在try块外面声明了一个数组,未定义,在try块中进行了定义,然后用另一个for循环打印出来.
string[] temp;
try
{
temp=new string[20];
for (int i=0;i<20;i++)
{
temp[i]=i.ToString();
}
}
catch
{
}
for (int i=0;i<20;i++)
{
this.listBox1.Items.Add(temp[i]);
}
但是系统提示出错,错误显示:使用了未赋值的局部变量“temp”,temp数组在两个块之外声明的,在try块中进行了定义,在下面for块里就成了未赋值的了?
有意思的是,我把temp数组的声明放在类的成员声明部分声明,这么做就没问题了.为什么呢?