文章插图
用 static 修饰符声明的字段称为静态变量 。静态变量在包含了它的那个类型的静态析构函数(第 10.11 节)执行之前就存在了,在关联的应用程序域终止时终止 。局部变量是通过局部变量声明来声明的,此声明可以出现在块、for 语句、switch 语句或 using 语句中 。局部变量的生存期是程序执行过程中的某一“段”,在此期间,一定会为该局部变量保留存储 。此生存期从进入与它关联的块、for 语句、switch 语句或 using 语句开始,一直延续到对应的块、for 语句、switch 语句或 using 语句的执行以任何方式结束为止 。(进入封闭块或调用方法会挂起(但不会结束)当前的块、for 语句、switch 语句或 using 语句的执行 。)如果以递归方式进入父块、for 语句、switch 语句或 using 语句,则每次都创建局部变量的新实例,并且重新计算它的局部变量初始值设定项(如果有的话) 。局部变量不自动初始化,因此没有默认值 。出于明确赋值检查的目的,局部变量被视为初始未赋值 。局部变量声明可包括局部变量初始值设定项,在此情况下变量被视为在它的整个范围内(局部变量初始值设定项中提供的表达式内除外)已明确赋值 。在局部变量的范围内,在局部变量声明符之前的文本位置引用该局部变量是编译时错误 。局部变量的实际生存期依赖于具体实现 。例如,编译器可能静态地确定块中的某个局部变量只用于该块的一小部分 。根据这种分析,编译器生成的代码可能会提前回收该变量的存储(相对于包含该变量的生存期) 。局部引用变量所引用的存储的回收与该局部引用变量(第 3.9 节)的生存期无关 。foreach 语句和 try 语句的特定 catch 子句也声明局部变量 。对于 foreach 语句,局部变量是一个迭代变量(第 8.8.4 节) 。对于特定的 catch 子句,局部变量是一个异常变量(第 8.10 节) 。foreach 语句或特定的 catch 子句所声明的局部变量被视为在它的整个范围内已明确赋值 。MSDN有各种变量的详细说明
【什么是静态变量?】
推荐阅读
- 印度盛行什么季风 印度气候的简介
- 嘉兴的区号是多少
- 天下安注意相;天下危注意将是什么意思 天下安注意相;天下危注意将释义
- 好女人该是什么样的 好女人该是什么样的表现
- 办健康证需要什么证件 办健康证需要哪些证件
- 一次性医用口罩可以防雾霾吗 为什么一次性口罩不能防雾霾
- 离婚协议抚养年限一般是多久
- 光彩工程是什么意思 光彩工程的解释
- 网络yq是什么意思 网络yq的意思
- 为什么会做梦科学解释 做梦的原因