C#的Bug?
using   System;   
 namespace   ConsoleApplication3 
 { 
             class   Program 
             { 
                         static   void   Main(string[]   args) 
                         { 
                                     if   (false) 
                                     { 
                                                 int   i   =   1; 
                                     }   
                                     int   i   =   2;   
                                     System.Console.WriteLine(i.ToString()); 
                         } 
             } 
 }     
 ================   
 上面代码有错误吗?我的VS.net   2005   SP1编译不了。 
 用Java测试: 
                                     if   (false) 
                                     { 
                                                 int   i   =   1; 
                                     }   
                                     int   i   =   2; 
 是完全没问题的。为什么C#有这个鬼问题?   
 PS:我的VS.net2005   SP1是盗版的,麻烦哪位用正版的朋友试下!
------解决方案--------------------C#不支持这么写 
 类似 
 if(1)是编译不过的
------解决方案--------------------C#不支持这么写 
 类似 
 if(1)是编译不过的 
 ================== 
 瞎说 
 人家是if(false)  
 i变量的问题 
------解决方案--------------------果然是瞎说了-_-# 
 这个咋解决呢
------解决方案--------------------  if (false) 
 { 
 	int i = 1;//这里已定义了一次 
 }   
 int i = 2;.//这里又定义了一次,   
 为了避免在使用的上的不方便,C#编译器不允许这样在定义两次变量.因为它们的做用域相近.