一个变量在同一个作用域中不能够声明两次,如下代码错误。 
	
		
			
				
					
using System;
 
usingSystem.Collections.Generic;
 
usingSystem.Linq;
 
usingSystem.Text;
 
usingSystem.Threading.Tasks;
 
  
 
namespaceConsoleApplication1
 
{
 
  class Program
 
  {
 
    static void Main(string[] args)
 
    {
 
      int a =123;
 
      int a =456;
 
    }
 
  }
 
}
				 | 
			 
		
	 
	
 
编译错误如下:
	
		
			| 
				严重性 | 
			
				代码 | 
			
				说明 | 
			
				文件 | 
			
				行 | 
			
				禁止显示状态 | 
			
				  | 
		 
		
			| 
				错误 | 
			
				CS0128 | 
			
				ConsoleApplication1 E | 
			
				E:\01_workspace\02_programme_language\06_c#\2017\09\varConflict\ConsoleApplication1\ConsoleApplication1\Program.cs | 
			
				14 | 
			
				活动 | 
			
				  | 
		 
		
			| 
				警告 | 
			
				CS0129 | 
			
				ConsoleApplication1 E | 
			
				E:\01_workspace\02_programme_language\06_c#\2017\09\varConflict\ConsoleApplication1\ConsoleApplication1\Program.cs | 
			
				13 | 
			
				活动 | 
			
				  | 
		 
		
			| 
				警告 | 
			
				CS0129 | 
			
				ConsoleApplication1 E | 
			
				E:\01_workspace\02_programme_language\06_c#\2017\09\varConflict\ConsoleApplication1\ConsoleApplication1\Program.cs | 
			
				14 | 
			
				活动 | 
			
				  | 
		 
	
 
但是,如下代码正常:
 
	
		
			
				
					
using System;
 
usingSystem.Collections.Generic;
 
usingSystem.Linq;
 
usingSystem.Text;
 
usingSystem.Threading.Tasks;
 
  
 
namespaceConsoleApplication1
 
{
 
  class Program
 
  {
 
    static void Main(string[] args)
 
    {
 
      for (int a = 0;a < 10; a++)
 
      {
 
        Console.WriteLine(a);
 
      }
 
      for (int a = 0;a < 10; a++)
 
      {
 
        Console.WriteLine(a* 2);
 
      }
 
    }
 
  }
 
}
				 | 
			 
		
	 
	
 
编译后执行结果:
 
	 
	原因:在第一个循环结束后,a的作用域已经跳出。 
   |