C#中变量(成员变量、局部变量、全局变量)的作用域

不管在任何编程语言中都有变量的定义,变量就像是一个容器,不同的变量会在内存中占据不同大小的内存空间。定义变量后会将分配的地址绑定在这个变量名上,以后对该变量名的操作就是对该内存地上存储内容的操作。

namespace test
{class myTest{int loop = 0;           //实例成员变量static int num  = 0;    //静态成员变量public static int value = 10; //全局变量void Main(){int m = 0;          //局部变量for (int i = 0; i < 100; i++){//i为局部变量,其作用域仅为for循环体内Console.WriteLine(i);}}}
}

成员变量:在类中定义的变量,在整个类中都有效,类中定义的方法都可以使用该变量。成员变量又可以分为实例成员变量和静态成员变量。

  • 静态成员变量:使用static修饰的成员变量,static用于把属性和方法绑定到类本身,而不是使用类创建的对象。使用静态成员变量时直接使用类名称进行调用,无论用户使用该类创建了多少个对象,静态成员变量始终只有一个,始终绑定到类本身,每个创建的对象中并不存在该静态成员变量。
  • 实例成员变量:实例成员变量是绑定使用类创建的对象上的,要想使用实例成员变量,必须先使用类创建一个对象。使用实例成员变量时是使用对象名进行调用,使用同一类创建的多个对象中各自有自己的实例成员变量,互相隔离,互不干扰。

局部变量:在方法体中定义的变量,其使用范围只局限在定义它的方法之中或者方法之中的循环体之内,作用域不超过一个大括号

全局变量:在类中定义的变量用static修饰的变量为全局变量,在整个namespace中的所有类中都可以使用

 

需要注意的是:定义变量时不能在同一作用域内定义相同名称的变量

 

注意:

1)C#中定义的变量在使用之前必须进行初始化,否则编译器会报错

大多数的现代编译器并未将未初始化的变量标记为警告,例如在C语言中就可以再定义变量后不赋值就进行使用,此时变量中存储的是垃圾值,但C#编译器将使用未初始化的变量作为错误。

C#中有两种方法可确保变量在使用前对其进行初始化:

  • 变量是类或结构中的字段,如果没有显式初始化,创建这些变量时,其值就默认是0(类和结构在后面讨论)
  • 方法中定义的局部变量必须在代码中显式初始化,之后才能在语句中使用该变量。此时,初始化不是在声明该变量时进行的,但编译器会通过方法检查所有可能的路径,如果检测到局部变量在初始化之前就使用了它的值,就会产生错误

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/429546.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Servelt中的ServletContext对象

转载于:https://www.cnblogs.com/yxh-only/p/6548046.html

export function函数传参_从底层看前端(七)—— JavaScript到底有多少种函数?

在上篇文章中我们了解到了执行上下文是什么&#xff0c;也知道了任何语句的执行都会依赖特定的上下文。一旦上下文被切换&#xff0c;整个语句的效果可能都会发生变化。那么&#xff0c;切换上下文的时机就显得非常重要。在JavaScript中&#xff0c;切换上下文最主要的场景就是…

liunx常用命令0

1 开启Linux操作系统&#xff0c;要求以root用户登录GNOME图形界面&#xff0c;语言支持选择为汉语 点击“未列出&#xff1f;”-->输入root和密码 2 使用快捷键切换到虚拟终端2&#xff0c;使用普通用户身份登录&#xff0c;查看系统提示符 ctrlaltf2 3 使用命令退出虚拟终…

2个td合成一个td_18个月16个爆款,合成类玩法的下一个机会在哪?

18个月16个爆款&#xff01;近日&#xff0c;编者体验了近18个月爆款小程序榜单之中的游戏&#xff0c;体验之后编者发现&#xff0c;在这200多款游戏中&#xff0c;有16款都应用了合成类玩法&#xff0c;而且部分游戏是数次登榜&#xff0c;比如枪火工厂、全民养鲲、世界争霸等…

在线代码图片生成工具carbon

在日常工作中时常需要和同事间进行代码的沟通和交流&#xff0c;有时只是需要讨论某一段代码的内容&#xff0c;因此不必将整个文件发给同事。通常可以将部分代码进行截图&#xff0c;或者直接将部分代码复制粘贴发送给同事。但以上方法或因为代码太长需要多次截图&#xff0c;…

java- WatchService监控

java7中新增WatchService可以监控文件的变动信息&#xff08;监控到文件是修改&#xff0c;新增、删除等事件&#xff1b;&#xff09; 其中注册事件是需要的&#xff1a; StandardWatchEventKinds.ENTRY_MODIFY,//更新 StandardWatchEventKinds.ENTRY_DELETE,//创建 StandardW…

antd 日期时间选择_Excel最全时间类函数总结,有必要收藏一下哦

Excel数据格式中&#xff0c;一共分十一类&#xff0c;其中两类分别是日期与时间。Excel中存在大量公式用于处理这两个类型的数据&#xff0c;下面一一介绍与之相关的函数。年月日函数Excel函数中分别用year()、month()、day()函数返回一日期的年、月、日&#xff0c;这三个函数…

C#中的变量类型(值类型、引用类型)

C#中的变量类型&#xff1a; 值类型&#xff1a;值类型直接存储的是变量的值&#xff0c;变量空间在栈上分配&#xff0c;分配速度比较快。给变量赋值时需注意变量类型的取值范围&#xff0c;给变量赋不合理的值会导致编译器报错。布尔类型的变量只有两种可选择的值true/false&…

Java:IDEA下使用JUNIT

单元测试的基本使用 一、环境配置 使用idea IDE 进行单元测试&#xff0c;首先需要安装JUnit 插件。 1.安装JUnit插件步骤 File-->settings-->Plguins-->Browse repositories-->输入JUnit-->选择JUnit Generator V2.0安装。 2.使用JUnit插件 在需要进行单元测试…

arcore之路-unity开发从入门到实践_Unity游戏开发——单例模式的最佳实践

0.前言StarryFun&#xff1a;Unity游戏开发——关于单例模式的理解​zhuanlan.zhihu.com之前一篇文章讲了单例模式的简单理解&#xff0c;自知其中有很多不严谨的地方&#xff0c;由于本萌新也是在学习阶段&#xff0c;所以去翻看了开源的项目都是怎么实现的&#xff0c;发现了…

压控元器件和流控元器件

压控元器件&#xff1a;通过电压控制器件是否工作&#xff0c;常见的有MOSFET、IGBT 流控元器件&#xff1a;通过电流控制器件是否工作&#xff0c;常见的有光耦、三极管

python位运算

这几天&#xff0c;在看C代码&#xff0c;要做一个imsi的decode 里面的代码都是用C写的&#xff0c;位运算什么的。看的有点乱。 由于要在pc上进行解析&#xff0c;所以打算用python写&#xff0c;那么问题来了Python进行位运算要怎么玩&#xff1f; 看的比较多的教程是把这方面…

光耦的简介

光耦&#xff0c;光电耦合器的简称&#xff0c;它是以光信号作为介质传输电信号的元器件。光耦的输入端和输出端信号可以非常好的进行隔离&#xff0c;因此在隔离电路中经常会见到光耦。光耦合器一般由三部分组成&#xff1a;光的发射、光的接收及信号放大。输入的电信号驱动发…

接待员如何向客人upsell_客房留言卡也能收获好评,看看高情商酒店如何做的?...

客人对酒店最客观的评价从点评中就能看到&#xff0c;那酒店服务如何才能被客人看到呢&#xff1f;可不可以通过一张留言卡&#xff0c;被客人感知到呢&#xff1f;本文整理了多个客房服务实际场景案例&#xff0c;帮助酒店了解如何写好这张留言卡。一、什么场景下放置留言卡&a…

“2020 RT-Thread开发者大会” 思考感悟

从2019年开始参加RT-Thread的一次线下培训活动后&#xff0c;就深深的喜欢上这个国产的RTOS&#xff0c;之后RT-Thread举办的活动基本都有参加&#xff08;但每次活动抽奖都抽不到&#xff01;&#xff09;。当然&#xff0c;最为盛大的还属一年一度的RT-Thread开发者大会&…

构造函数demo

package cn.xuexi; /** 简单的写了一个构造函数的类* 总结一下构造函数的坑* 1、构造函数的名字必须与类型保持一致* 2、构造函数不能有任何返回值类型的修饰&#xff0c;void也不行* 3、构造函数中不能使用return 语句 */ public class GouZaoDemo { public static void main(…

小红书笔记_小红书的沙雕笔记,害人不浅啊

话说&#xff0c;当代人的十大必备软件是什么&#xff1f;要猫姐来说的话。除了微信微博抖音&#xff0c;小红书也肯定少不了&#xff01;它简直就是大部分PLMM的“种草神器”。就连明星都纷纷入驻小红书变身为“美妆博主”。前一阵上了热搜榜和李晨分手的范冰冰也是小红书的一…

禅、魏晋风度及其他

禅、魏晋风度及其他 从本质上说&#xff0c;禅与文学艺术活动是相悖的。禅讲“静虚”&#xff0c;讲“色空”&#xff0c;讲“人中无我”、“法中无我”。所谓“菩提本无树&#xff0c;明镜亦非台&#xff0c;本来无一物&#xff0c;何处惹尘埃”&#xff08;王蒙说这也不算彻底…

2020 RT-Thread开发者大会 ART-Badge电子胸牌(可二次开发)

2020 RT-Thread开发者大会 ART-Badge电子胸牌&#xff08;可二次开发&#xff09;&#xff0c;动手实验IOT会场有介绍使用PersimmonUI设计器进行柿饼UI的开发&#xff0c;使用拖拽控件、注册事件的方式进行GUI的开发。开发语言使用JS&#xff0c;界面实现非常方便&#xff0c;后…