3.4 作用域
作用域(scope)是指由一个代码块或者语言结构约束起来的分层上下文。C#禁止在同一作用域内出现两个同名的声明。例如,在一个代码块中,不能定义两个同名的局部变量;代码块限定了作用域。类似地,不可以在同一个类中定义两个名为Main()的方法。
作用域是分层的。假定现在有一个方法,方法内部有一个if语句块,那么不可以先在方法这一层上定义一个局部变量,再在if语句块内定义一个同名的新变量。换言之,你声明的第一个变量的作用域跨越了方法内定义的所有代码块的作用域。然而,if块中声明的变量与else块中声明的变量不在同一个作用域中。除此之外,由于方法限定了局部变量的作用域,所以同一个局部变量名称可以在另一个方法中使用。
作用域限制了可访问性。例如,一个局部变量不可以在定义它的方法外部访问。类似地,如果一个变量是在if块内定义的,就不能在if块的外部访问,即使是从同一个方法中访问。在代码清单3-27中,在if语句内部定义一条消息,它的作用域就被限制在了if语句内。要防止出现错误,必须在if语句的外部声明message。
代码清单3-27 变量在其作用域外无法访问
class Program |
输出3-15展示了代码清单3-27的结果。
输出3-15
Microsoft (R) Visual C# 2005 编译器 版本 8.00.50727.42 |
| 回书目 |
|
||||
| · 龙芯要做中国的“奔腾” · 2008年上半年IT技术图.. · 虚拟化的“赤壁之战” · 服务器节能与绿色IT · 微软出价446亿美元收购.. · 脉冲无线电uwb专题 · 802.11n:下一代的无线.. · 云计算时代来临 |
· IT工程师该不该考CCIE.. · 浏览器的战国时代 · 2008年上半年全国软考.. · 无线网络环境 · 无线网状网(MESH) · 无线重中之重:安全问题 · 网络故障排除宝典 · Windows Server 2008专.. |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · 无线网状网(MESH) · Windows远程桌面应用 · C#技术开发指南 |
· Apache技术专题 · Windows集群服务应用 · C#技术开发指南 · 文档格式标准开战 OOXM.. · 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · C#技术开发指南 · 三层交换技术专题 · Apache技术专题 · C#技术开发指南 |
· Windows远程桌面应用 · 企业数据恢复指南 · Windows集群服务应用 · 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 解析35岁技术人的价值.. |
|||