变量的作用域
来源:互联网 发布:中日韩 知乎 编辑:程序博客网 时间:2024/04/27 16:59
1、int i;
for (i = 0; i < 10; i++)
{
string text = "Line" + Convert.ToString(i);
Console.WriteLine("{0}", text);
}
Console.WriteLine("Last text output in Loop :{0}.", text);
失败,字符串变量text是for循环的局部变量,这段代码不能编译,因为在该循环外部调用的Console.WriteLine()试图使用该变量text,这超出了循环的作用域。
2、 int i;
string text;
for (i = 0; i < 10; i++)
{
text = "Line" + Convert.ToString(i);
Console.WriteLine("{0}", text);
}
Console.WriteLine("Last text output in Loop :{0}.", text);
失败,变量必须在使用前声明和初始化,而text是在for循环中初始化,赋给text的值在循环退出时就丢失了。
3、 int i;
string text=" ";
for (i = 0; i < 10; i++)
{
text = "Line" + Convert.ToString(i);
Console.WriteLine("{0}", text);
}
Console.WriteLine("Last text output in Loop :{0}.", text);
Console.ReadKey();
这次text是在循环外初始化的,可以访问它的值。
以上的情况是分配给text变量的内存空间,实际上任何变量都是这样。只有声明一个简单的变量类型,并不会引起其他的变化。只有在给变量赋值后,这个值才占用一块内存空间。如果这种占据内存空间的行为在循环中发生,该值实际上定义为一个局部值,在循环的外部会超出其作用域。
即使变量本身没有局部化到循环上,循环所包含的值也局部化到该循环上。但是在循环外部赋值可以确保该值是主体代码的局部值,在循环内部它仍处于其作用域中。这意味着变量在退出主体代码块之前是没有超出作用域的,所以可以在循环外部访问它的值。
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- imx515 uboot 改变控制台
- VOIP 电话/VOIP网络电话的基本原理
- 一个比较好的代码注释方法
- Linux网络协议栈之网络设备管理
- 应用程序的开发
- 变量的作用域
- poj 1083 Moving Tables
- BD二十道
- oracle 存储过程基础写法
- Extjs之Eclipse及spket的开发环境的搭建
- PKU1013 Counterfeit Dollar
- 学习资料汇总帖
- 数据库设计规范
- 代码连接外部文件(比如用户控件的链接)