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++的初学者,笔者希望在这里能够尝试着去理一理这些较为繁杂的概 ...
随机推荐
- python 去除字符串两端的引号
a='"srting"' print(a) b=eval(a) print(b) 输出 "srting" srting
- 进入mac U盘文件夹命令
cd /Volumes 这条命令进入到你的u盘的上层文件夹,在这个文件夹里面包含了你的u盘,比如我的u盘名为SONG 则进入u盘的命令为 cd /Volumes/SONG
- Android之微信支付
Android开发中,大多数电商APP都会有支付这么模块,此博客就讲一下微信支付,代码不多,很简单就可以完成,支付宝支付请看博客 Android支付之支付宝封装类 先来看看效果图 微信支付首先要去微信 ...
- UVA-536 Tree Recovery (二叉树遍历)
题目大意:给出对一棵二叉树先序遍历和中序遍历的顺序,找出后序遍历的顺序. 题目分析:无非就是对字符串的输出顺序做个变化,递归就行了. 代码如下: # include<iostream> # ...
- 运行MySQL远程连接
方法一:修改MySQL自带的“mysql”数据库中的“USER”表 USE mysql; UPDATE USER SET HOST='%' WHERE USER='root'; SELECT * FR ...
- Meteor.js异步全解
翻译来源: http://phucnguyen.info/blog/everything-you-need-to-know-about-async-meteor/ posted in Web Deve ...
- js 数据函数
//shift:删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3,4,5] ...
- C++设计与声明——让接口容易被正确使用
一个简答易错的例子 class Date { public Date(int month,int day,int year); } 一年后使用这个接口的时候,写了Date d(15,10,2015)或 ...
- Android 五种存储方式个人总结
一 . 文件存储 FileOutputStream out = openFileOutput("data",Context.MODE_PRIVATE); BufferedWrite ...
- Missing artifact com.sun:tools:jar:1.7解决方案
在配置Java + Robotframework时遇到的问题“Missing artifact com.sun:tools:jar” 1. 先检查一下eclipse或STS中的JDK路径配置是否正确( ...