变量本身被用来存储特定类型的数据,可以根据需要随时改变变量中所存储的数据值。变量具有名称、类型和值。变量名是变量在程序源代码中的标识。变量类型确定它所代表的内存的大小和类型。变量值是指它所代表的内存块中的数据。在程序的执行过程中,变量的值可以发生变化。使用变量之前必须先声明变量,即指定变量的类型和名称。

变量的使用时程序设计中一个十分重要的环节。为什么要定义变量呢?简单的说,就是要告诉编译器,这个变量是属于哪一种数据类型,这样编译器才知道需要配置多少空间给它,以及它能存放什么样的数据。在程序运行过程中,空间内的值时变化的,这个内存空间就称为变量。声明变量就是制定变量的名称和类型。变量的声明非常的重要,未经声明的变量本身并不合法,也因此没有办法在程序当中使用。在C#中,声明一个变量是由一个类型和跟在后面的一个或多个变量名组成,多个变量之间用逗号分开,声明变量以分号结束。

比如:

int _int1;

string  _str1,_str2,_str3;

声明变量时,还可以初始化变量,即在每个变量名后面加上给变量赋初始值的指令。

//声明一个整数变量,并赋值。

int  a=123;

//声明3个字符串变量,并赋值。

string str1="歌唱祖国!",str2="祖国您好!",str3="奕奕微笑";

在声明变量时,要主要变量名的命名规则,C#的变量名是一种标识符,应该符合标识符的命名规则。

1、变量名只能是由:字母、数字和下划线组成。

2、变量名的第一个字符只能是字母、下划线,不能是数字。

3、不能使用关键字作为变量名。

4、一旦在一个语句块中定义了一个变量名,那么在变量的作用域内都不能再定义同名的变量。

5、在C#语言中允许使用汉字或其他语言文字作为变量名,在程序运行中并不出现什么错误,但建议读者尽量不要使用这些语言文字作为变量名。

变量的赋值:

在C#中,使用赋值运算符“=”来给变量赋值,将等号右边的值赋值给左边的变量。

比如:

int a;

a=2016;

变量的作用域:

由于变量被定义出来后只是暂存在内存中,等到程序执行到某一个点后,该变量会被释放掉,也就是说变量有它的声明周期。因此,变量的作用域是指程序代码能够访问该变量的区域,若超出该区域,则在编译时会出现错误。在程序中,一般会根据变量的“有效范围”将变量分为“成员变量”和“局部变量”。

1、成员变量。

在类体中定义的变量被称为成员变量,成员变量在整个类中都有效。类的成员变量又可以分为两种,即静态变量和实例变量。

比如:

class Test1

{

static int  a;

int  b;

}

在成员变量的类型前面加上关键字static,这样的成员变量称为静态变量。静态变量的作用范围可以跨类。甚至可以达到整个应用程序之内,对于静态变量,除了能在定义它的类内存取,还能以“类名.静态变量”的方式在其它类内使用。

局部变量:

在类的方法体重定义的变量,称为局部变量。也就是在方法体内部,“{”和“}”之间的代码中声明的变量。

在类的方法中声明的变量,包括方法的参数,都属于局部变量。局部变量只在当前定义的方法内有效,不能用于类的其它方法中。局部变量的声明周期取决于方法。当方法被调用时,C#编译器为方法中的局部变量分配内存空间,当该方法的调用结束后,则会释放方法中局部变量占用的内存空间,局部变量也就会销毁。

比如:创建一个控制台应用程序,使用for循环将0---20之间的数字显示出来。然后在for语句中声明变量i,此时i就是局部变量,其作用域只限于for循环体内。

如:

static void Main(string[] args)

{

for(int i=0;i<=20;i++)

{

Console.WriteLine(i.ToString());

}

Console.ReadLine();

}

转载于:https://blog.51cto.com/yiyiweixiao/1976022

37、我的C#学习笔记3相关推荐

  1. Mixly第35课~第37课,课程学习笔记 | Mixly米思齐纯干货系列

    Mixly 是由北师大米思齐团队开发的图形化编程软件,自发布以来深受国内创客圈的喜爱.Mixly 编程软件采用图形化编程,不用记代码,只需要拖拽.简单设置,就能让你快速完成创意电子编程. 本专栏系列课 ...

  2. 影像组学视频学习笔记(37)-机器学习模型判断脑卒中发病时间(文献报告)、Li‘s have a solution and plan.

    作者:北欧森林 链接:https://www.jianshu.com/p/3e7a2c84288e 来源:简书,已获授权转载 RadiomicsWorld.com "影像组学世界" ...

  3. 深度学习笔记(37) 交并比

    深度学习笔记(37) 交并比 1. 交并比 2. 评价准则 1. 交并比 并交比(Intersection over Union)函数,可以用来评价对象检测算法,判断对象检测算法运作是否良好 在对象检 ...

  4. (实验37)单片机,STM32F4学习笔记,代码讲解【内存管理实验】【正点原子】【原创】

    文章目录 其它文章链接,独家吐血整理 实验现象 主程序 内存池初始化程序 代码讲解 其它文章链接,独家吐血整理 (实验3)单片机,STM32F4学习笔记,代码讲解[按键输入实验][正点原子][原创] ...

  5. matlab 线性规划_从零开始的matlab学习笔记——(37)线性规划——后传

    matlab应用--求极限,求导,求积分,解方程,概率统计,函数绘图,三维图像,拟合函数,动态图,傅里叶变换,随机数,优化问题....更多内容尽在个人专栏:matlab学习 呼,终于将matlab的优 ...

  6. 【Stage3D学习笔记续】山寨Starling(八):核心优化(批处理)的实现

    批处理是使GPU进行高效绘制的一种技术手段,也是整个渲染流程中最核心的技术,到目前为止我们并没有使用到这种技术手段,下面我们看看我们现在的渲染机制. 先想一想我们最开始是怎么向GPU绘制一幅图像的,可 ...

  7. 142页ICML会议强化学习笔记整理,值得细读

    作者 | David Abel 编辑 | DeepRL 来源 | 深度强化学习实验室(ID: Deep-RL) ICML 是 International Conference on Machine L ...

  8. [python教程入门学习]python学习笔记(CMD执行文件并传入参数)

    本文章向大家介绍python学习笔记(CMD执行文件并传入参数),主要包括python学习笔记(CMD执行文件并传入参数)使用实例.应用技巧.基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋 ...

  9. JavaWeb学习笔记(十)--HttpServletRequest

    1. HttpServletRequest简介 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中 2. Ht ...

  10. R语言可视化学习笔记之ggridges包

    作者:严涛 浙江大学作物遗传育种在读研究生(生物信息学方向)伪码农,R语言爱好者,爱开源. 严涛老师的绘图教程还有: gganimate |诺奖文章里面的动图绘制教程来了!! ggplot2学习笔记之 ...

最新文章

  1. Git 常用操作(6)- 推送到远程仓库(git push)删除远程分支(git push origin --delete)
  2. jmeter全链路压测
  3. 二分类吸引子和鞍点的准确率的表达式ca
  4. Java黑皮书课后题第6章:6.10(使用isPrime方法)程序清单6-7提供了测试某个数字是否是素数的方法isPrime(int number)。使用这个方法求小于10000的素数的个数
  5. IOS 实现TXT文本自动识别编码的方法
  6. 运行单个源文件_使用一个命令执行单个Java源文件
  7. 【渝粤题库】广东开放大学 电子商务安全与支付 形成性考核
  8. ubuntu查看本地ip
  9. PHP curl传输文件的版本兼容性
  10. 小程序二维码海报生成
  11. 仙剑奇侠传脚本制作教程
  12. 深度学习--二值神经网络BNN基础概念学习总结+官方代码解析
  13. 游戏热更新:游戏客户端热更新那点事
  14. 本地安装MySQL详细步骤
  15. Android即时通讯和sns开源项目汇总
  16. 023-公平感|领导者的内功
  17. 移动硬盘加密方法加密后对硬盘读写的影响
  18. DNS主从同步服务配置
  19. 2022-2028年全球与中国智能天线行业发展趋势及投资战略分析
  20. 2021-2027中国内部威胁管理(ITM)软件市场现状及未来发展趋势

热门文章

  1. [禅悟人生]不自律的品性如堕落的瓷瓶
  2. tf.contrib.rnn.core_rnn_cell.BasicLSTMCell should be replaced by tf.contrib.rnn.BasicLSTMCell.
  3. python中__init__()、__new__()、__call__()、__del__()几个魔法方法的用法
  4. (翻译)Importing models-FBX Importer - Animations Tab
  5. 虚拟机VMware的安装
  6. python数据处理:数据合并和Reshaping
  7. 修改Linux默认启动级别或模式的方法
  8. IE7,iE6,超链接禁用失效解决方法
  9. Visual Assist X V10.4.1626.0 不错的软件,让VC++也能自动提示
  10. 网站如何经过身份验证_如何配置TLS?