class Program
{
int a = 10; //第一次定义a static void Main(string[] args)
{
int a = 20; //第二次定义a
Console.WriteLine(a); // 此处输出第二次定义的a:20
Console.WriteLine(this.a); // 此处输出第一次定义的a:10
//下面是一个代码块
{
int a = 30; //第三次定义a
// 编译器错误 CS0136:变量声明隐藏了本应在范围内的另一个声明
// 第三次定义的a掩盖了第二次定义的a,所以出现编译器错误。
} }
}
解决方案 »
- .net 2.0中 2个集合循环,寻找高效率方法..
- 怎样将一个文件夹下的所有文件的名字导入到数据库中
- 上传图片并能自动改变图片的分辨率的大小,急!!!
- 请问CSarp2008中有以前VB6.0中的chart 控件吗?
- IIS5.0下能还能跑asp.net 1.1
- 帮忙看两段代码,看怎样可以建立起通讯关系。我在调试是总是出错!
- VS 2005和VS.net 2005是一回事吗?
- C#如何后台控制浮动广告?
- 高分求教如何在C#中比较字符串大小??
- 在网上找了一个TREEVIEW读取数据库源码,但是ID是INT类型,我的数据库ID是字符型,怎么改高分?
- 关于VS2005出错。
- webclient上传文件的问题
但是第二个a的作用域包含第三个的,
比如这样就可以重复定义了://代码块1
{
int a = 30; //第三次定义a
} //代码块2
{
int a = 30; //第三次定义a
}
{
int a = 10; //第一次定义a static void Main(string[] args)
{
int a = 20; //第二次定义a
Console.WriteLine(a); // 此处输出第二次定义的a:20
Console.WriteLine(this.a); // 此处输出第一次定义的a:10
//下面是一个代码块
{
int a = 30; //第三次定义a
// 编译器错误 CS0136:变量声明隐藏了本应在范围内的另一个声明
// 第三次定义的a掩盖了第二次定义的a,所以出现编译器错误。
} }
}