首页 > 代码库 > 字段和局部变量的作用域冲突
字段和局部变量的作用域冲突
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 namespace Wrox 6 { 7 class Program 8 { 9 static int j = 20;10 static void Main(string[] args)11 {12 int j = 30;13 Console.WriteLine(j);14 Console.WriteLine(Program.j);15 Console.ReadLine();16 return; 17 }18 }19 }
虽然在Main()方法的作用域内声明了两个变量j,这段代码也会编译--在类级上定义的j和Main()方法中定义的j,在该类删除前是不会超出作用域的;类级的变量j会被看成字段,此时Main()方法中的新变量j隐藏了同名的类级变量,所以运行代码时会显示数字30;如果要引用类级变量j时,只能使用类本身的名称。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。