c#中变量的作用域
C#中的作用域和javascript中的作用域还是有区别的.呵呵
class Person
{
/*
*确定C#变量作用域的2个规则.
1.类的字段所处的作用域等同于该字段所属类所在的作用域;
* 2.局部变量的作用域仅限于声明它的方法的或循环体内部,以大括号{}为界.
*/
public string MyVar;//作用域和它所属的类的作用域相同 public void DoSomething()
{
//someVar变量作用域仅限在DoSomething()方法内部,以{}为届
var someVar = "some value";
int[] someVars = { , , , }; foreach (var item in someVars)
{
Console.WriteLine(item);
}
//这里将无法访问foreach循环体内部定义的item变量,编译器会报错
//Console.WriteLine(item); /*
OtherPerson的myString字段的作用域与OtherPerson对象的作用域相同.
*/
OtherPerson oPer = new OtherPerson();
oPer.myString = "思思博士";
}
}
class OtherPerson
{
public string myString;
}
/*
关于变量作用域冲突的现象.
* 1.同一个作用域内,存在两个同名的变量,这里不关心变量的类型是否相同.如果存在这种情况,编译器将会报错,编译将无法继续.
* 2.局部变量和字段变量同名,那么局部变量会将同名的字段级变量隐藏,就是说在局部变量的作用域内,局部变量的值覆盖了字段级变量的值.
*/
class Human
{
public string myVar = "相信未来";
public void DoSomthing()
{
var myVar = "我相信,我就是我,我相信明天";
int[] someVars={,,,,};
foreach (var item in someVars)
{
//这个地方声明的item会报错.
//string item = "和循环重的作用域冲突!";
Console.WriteLine(item);
}
Console.WriteLine(myVar);//我相信,我就是我,我相信明天(局部变量)
Console.WriteLine(this.myVar);//相信未来(字段级的变量) }
}
c#中变量的作用域的更多相关文章
- Python中变量的作用域(variable scope)
http://www.crifan.com/summary_python_variable_effective_scope/ 解释python中变量的作用域 示例: 1.代码版 #!/usr/bin/ ...
- C/C++——C++变量的作用域与生命周期,C语言中变量的作用域和生命周期
全局变量 作用域:全局作用域(全局变量只需在一个源文件中定义,就可以作用于所有的源文件.) 生命周期:程序运行期一直存在 引用方法:其他文件中要使用必须用extern 关键字声明要引用的全局变量. 内 ...
- 注意for循环中变量的作用域-乾颐堂
1 2 for e in collections: pass 在for 循环里, 最后一个对象e一直存在在上下文中.就是在循环外面,接下来对e的引用仍然有效. 这里有个问题容易被忽略,如果在循 ...
- 注意for循环中变量的作用域
for e in collections: pass 在for 循环里, 最后一个对象e一直存在在上下文中.就是在循环外面,接下来对e的引用仍然有效. 这里有个问题容易被忽略,如果在循环之前已经有一个 ...
- JavaScript 中变量、作用域和内存问题的学习
这是我学习JavaScript的第二篇文章,之前做过几年的Java开发,发现JavaScript虽然也是面向对象的语言但是确实有很多不同之处.就本篇博客,主要学习总结一下最近学习到的JavaScrip ...
- C语言中变量的作用域和生命周期
变量的类型: 1. 局部变量和全局变量 局部变量也称为内部变量. 局部变量是在函数内作定义说明的.其作用域仅限于函数内, 离开该函数后再 使用这种变量是非法的. 全局变量也称为外部变量,它是在函数外部 ...
- Delphi过程和函数中变量的作用域
变量的作用域是指变量能被某一子程序识别的范围. 全局变量和局部变量.全局变量是指在程序的type区定义的变量,而局部变量是在过程或函数的定义部分声明的变量.全局变量在整个程序中都有意义,局部变量只在它 ...
- if、while中变量的作用域问题
我们知道,函数.类会改变当前变量的作用域.if,while等分支循环结构会继承外部作用域,即外部变量对分支循环结构内部可见. 但是C语言不支持if,while等分支循环结构内部作用域对外可见,而PHP ...
- Python中变量的作用域
一.变量作用域的含义 变量的作用域说白了就是变量的值从哪里获取,或者说变量取值的地方 我们在写代码过程中会用到很多变量,这些变量会出现在各种代码块中,有的出现在函数块里,有的在函数块外,例如: def ...
- C/C++中变量的作用域和存储类型简介
写在开头 对于很多C/C++的初学者来说,很容易理不清变量的作用域和存储类型这一块的一些概念,也容易将其中的一些概念搞混淆.作为一个C/C++的初学者,笔者希望在这里能够尝试着去理一理这些较为繁杂的概 ...
随机推荐
- tomcat config https 443
设置https: <Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" ...
- shell 将输入的字符转换成大写
test.sh #!/bin/bash while read line do echo $line | tr '[a-z]' '[A-Z]' done 输出 dddddd DDDDDD sssss S ...
- Qt5获取网卡/IP等信息
参考网址:http://blog.csdn.net/wjs1033/article/details/22697063 1.环境 Win7x64.Qt5.5.1(x86).vs2013_ultimate ...
- 过了所有技术面,却倒在 HR 一个问题上
面试问离职原因,这是我们广大程序员朋友面试时逃不开的问题,如果答得不好,可能就影响了你整个的面试结果. 最近在群里,我也看到大家在讨论这个问题,其中有个朋友的回复很有感触,我分享给大家看一下. 如图, ...
- [javascript]javascript取得html元素,取得html样式,修改html样式
一.取得html元素 详情见:https://www.jb51.net/article/116460.htm 1.通过ID获取(getElementById) document.getElementB ...
- RoR unobtrusive scripting adapter--UJS(一些Javascript的语法糖)
Learn how the new Rails UJS library works and compares with the old version of jquery_ujs that it re ...
- Android------个人项目(歆语计算器)
歆语混合计算器,触手可及,畅享运算,欢迎使用,支持4则混合运算, 可以同时加,减,乘,除,前提是计算格式要输入正确,提供便利的计算功能. apk下载地址: http://shouji.baidu.co ...
- CentOS 6.5安装和配置ngix
一.安装配置ngix 这里用wget直接拉取并安装资源文件 首先安装必要的库(nginx 中gzip模块需要 zlib 库,rewrite模块需要 pcre 库,ssl 功能需要openssl库). ...
- Yii 初识
接管一个Yii的系统,因为没有文档,所以非常上火. 01 查版本 Yii::getVersion(); 02 生成webapp Yii 是支持通过命令行生成webapp的.其中, yiic.bat是W ...
- 三网合一 中国移动铁通光猫 HG6821M 如何设置宽带自动连接
假期炎热,都说大连是海滨城市比较凉爽,但是那地方潮气太大,实在是不太好呆,于是乎我打道回府来到了内陆家中. 回到家中发现老式的光猫被替换成了 最新的 HG6821M . 按照铭牌上的说明,登录. ...