关于变量作用域问题
来源:互联网 发布:类似snapchat特效软件 编辑:程序博客网 时间:2024/05/16 06:42
首先,在使用变量之前要声明变量。声明的变量在其作用域内有效,其作用域包括定义变量的代码块和嵌套在其中的代码块。
c#编译器需要每个变量在有初始值之后才能使用该变量。而且 如果变量时类或者结构中的成员,如果没有显式初始化,默认状态下,其初始值为0.。在方法中的变量,必须显式的初始化,否则在使用时会出错。
全局作用域变量会被局部作用域同名变量覆盖,使用全局作用域的,可以通过定义该变量的类引用。
在使用变量前对其进行声明和初始化。例如在某一代码块内声明一个变量,但未初始化,而该变量在循环代码块内进行初始化,赋给该变量的值在循环代码块结束时就丢失了。在循环后使用该变量是未初始化的。解决办法是尽量在声明变量时同时初始化该变量。
注意,只声明一个变量不会引起什么变化,对变量赋值后,这个值才占用一块内存空间。如果赋值是在循环内发生,该值实际上定义为一个局部值。但变量并未局部化到循环上。
问题:
static void Main(string[] args) { //int i; string test; // for (i = 0; i < 10; i++) { test = "line"; Console.WriteLine(test); } Console.WriteLine(test ); Console.ReadKey(); }和
static void Main(string[] args) { int i; string test; for (i = 0; i < 10; i++) { test = "line"; Console.WriteLine(test); } Console.WriteLine(test ); Console.ReadKey(); }
后者编译不通过我能理解,但是前者为什么能通过呢??请注意我不是在问前者的解决办法。。。
希望各位大神为人解惑啊!
0 0
- 关于变量作用域问题
- 关于变量的作用域问题
- 关于变量的作用域问题1
- Swoole 关于变量作用域的问题
- 变量、作用域问题
- 关于栈和堆中变量的作用域问题
- 关于闭包和变量的作用域的问题
- 一个问题,关于函数嵌套后的变量作用域
- c语言中关于变量作用域问题
- 请教一下关于变量的作用域问题
- 关于变量的作用域
- javascript关于变量作用域
- 变量作用域的问题
- AS3变量作用域问题
- golang变量作用域问题
- js变量作用域问题
- JS变量作用域问题
- 变量,作用域,内存问题
- mongodb增删改查基本操作
- git使用
- JAVA学习脚印8: 类及其成员的访问权限
- 作为It人员,拿高薪的一些认知
- C++解剖->内存对齐
- 关于变量作用域问题
- Android App添加广告
- android ListView以及自定义adapter测试
- [ACM] poj 2484 A Funny Game(对称博弈)
- NULL与唯一性约束
- POJ 3159 Candies
- 在集群中java 通过调用API操作HBase 0.98
- 【Linux 入门笔记】命令行BASH的基本操作
- 整数的分划问题