数组定义的疑问

    用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数组的声明放在类的成员声明部分声明,这么做就没问题了.为什么呢?

posted @ 2005-09-22 10:25  寒带鱼  阅读(536)  评论(3编辑  收藏  举报