大一学生,自学c#才几个星期,遇到一个问题希望大神指教下。
  一个变量在循环外定义在循环里初始化,如果要再循环外输出这个值行不行?书上说不行,但是我用vs2010实践了下,发现是行得,这是怎么回事?

解决方案 »

  1.   

    int i;
    string myString;
    for (i=0;i<10;i++)
    {
       myString="Line"+Convert.ToString(i);
       Console.WritreLine(myString:{0}"'myString);
    }
    Console.WriteLine("Last mySting output in loop:{0}",myString;
    这就是代码
      

  2.   

    这个代码是可以的。如果 myString 在for里面,下面就调用不到myString。
      

  3.   

    得初始化
    string myString = string.Empty;
      

  4.   


      int i;
            string myString;
            for (i=0;i<10;i++)
            {
              myString="Line"+Convert.ToString(i);
              Console.WriteLine("myString:{0}", myString);
            }
            Console.WriteLine("Last mySting output in loop:{0}",myString);
    编译通不过的。设置myString=null吧
      

  5.   

    这是可以的 .. 主要是看你定义的myString是定义在哪里 .. 像你这个代码 .. myString定义在for外部而且是在同一个方法中 .. 当然没问题啊 .. 
      

  6.   

    http://msdn.microsoft.com/zh-cn/library/83fhsxwc.aspx请记住:在 C# 中不允许使用未初始化的变量。