C#此作用域设计为什么要这样?
程序一 
 static   void   Main(string[]   args) 
                         { 
                                     int   i; 
                                     string   text;   
                                     for   (i   =   0,text= "p ";   i    <   10;   ++i) 
                                     { 
                                                 text   =    "ggg "   +   Convert.ToString(i); 
                                                 Console.WriteLine( "{0} ",   text); 
                                     } 
                                     Console.WriteLine( "lase   {0},{1} ",   text,i); 
                                     Console.ReadKey(); 
                         } 
 程序二 
 static   void   Main(string[]   args) 
                         { 
                                     int   i; 
                                     string   text;   
                                     for   (i   =   0;   i    <   10;   ++i) 
                                     { 
                                                 text   =    "ggg "   +   Convert.ToString(i); 
                                                 Console.WriteLine( "{0} ",   text); 
                                     } 
                                     Console.WriteLine( "lase   {0},{1} ",   text,i); 
                                     Console.ReadKey(); 
                         }   
 程序二编译不通过,显示“错误   CS0165:   使用了未赋值的局部变量“text”“ 
 比较奇怪,C#问什么这样设计?有什么好处吗? 
 两个不同在于for(   )中程序一赋值了,而二没有。 
------解决方案--------------------int i; 
 string text =  " ";   
 for (i = 0; i  < 10; ++i) 
 { 
     text =  "ggg " + Convert.ToString(i); 
     Console.WriteLine( "{0} ", text); 
 } 
 Console.WriteLine( "lase {0},{1} ", text, i); 
 Console.ReadKey(); 
------解决方案--------------------程序二 
 static void Main(string[] args) 
         { 
             int i; 
             string text;   
             for (i = 0; i  < 10; ++i) 
             { 
                 text =  "ggg " + Convert.ToString(i); 
                 Console.WriteLine( "{0} ", text);