求教 变量作用域的问题。
static void Main(string[] args){
string text;
for (int i = 0; i < 10; ++i)
{
text = "TEXT"+Convert.ToString(i);
Console.WriteLine("{0}", text);
}
Console.WriteLine("{0}", text);
Console.ReadKey();
}
此代码 错误提示:使用了未赋值的局部变量“text”,但是text已经在for循环里赋值了。根据书上说 作用域不同,在循环里赋于的值会在循环结束后(即循环的域结束后)丢失。
可是如果我在text声明时就初始化(string text = " ";),按理应该是在循环里赋予的值在循环结束后应会丢失,那么 在循环后再次输出text的值 发现却是最后一次循环产生的值。 这我就不明白了。按理应该是在循环结束后text的值还是 " "才对啊?