有关C# 变量作用域问题
我今天突然发现了一个在C#中奇怪的现象,百思不得其解,请各位高手指点下,详细点,兄弟是初学者,谢了。
问题:
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int i;
string test;//第一行
for (i = 0; i < 10; i++)
{
test = "line";
Console.WriteLine(test);
}
Console.WriteLine(test );
Console.ReadKey();
}
}
}
调试不成功 错误提示是 “ 使用了未赋值的局部变量“test” ”
如果说是还没给第一行的test 赋值的话
但为什么这样后又可以了:
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//int i;
string test;//第一行
// for (i = 0; i < 10; i++)
{
test = "line";
Console.WriteLine(test);
}
Console.WriteLine(test );
Console.ReadKey();
}
}
}
也没赋值却可以成功
请各位说下这里面的原因 谢了