c#变量的作用域到底是什么意思啊,谁能给解释下
1个回答
展开全部
变量的作用域是可以访问该变量的代码域,确定作用域可以根据以下规则。
(1)字段(也称成员变量)所属的类在某个作用域内,则字段也在该作用域内。
(2)在while、for、do或类似语句中声明的局部变量存在于该循环体内。
(3)局部变量存在于表示声明该变量的块语句或方法结束的封闭括号之前的作用域内,一旦离开这个作用域后要再次使用这个局部变量名则要求用户重新声明,虽然这两个变量同名但完全是两个变量,因为它们有个自的作用域。
在代码段“1”处两个循环都在使用变量I,可以这样的原因是在两次声明中I都是在循环内部声明的,这样变量I对于循环来说是局部变量。而对于代码代“2”中的变量j,因为变量j以经在for循环开始前定义,在执行for循环时j处于其作用域内。这样便和循环内的同名变量冲突,编译器无法区别这两个变量。
(1)字段(也称成员变量)所属的类在某个作用域内,则字段也在该作用域内。
(2)在while、for、do或类似语句中声明的局部变量存在于该循环体内。
(3)局部变量存在于表示声明该变量的块语句或方法结束的封闭括号之前的作用域内,一旦离开这个作用域后要再次使用这个局部变量名则要求用户重新声明,虽然这两个变量同名但完全是两个变量,因为它们有个自的作用域。
在代码段“1”处两个循环都在使用变量I,可以这样的原因是在两次声明中I都是在循环内部声明的,这样变量I对于循环来说是局部变量。而对于代码代“2”中的变量j,因为变量j以经在for循环开始前定义,在执行for循环时j处于其作用域内。这样便和循环内的同名变量冲突,编译器无法区别这两个变量。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询