理解C#系列 / 核心C# / 变量
变量
变量?
变量是对一个东西指定一个名称,变量的功能和人的名字差不多,提到名字就知道指的是什么。
变量类型?
变量类型说明了变量的类型,声明变量是一个整数,还是小数,还是字符,或是图像,或是人类,或是什么。
定义变量
【变量类型】【空格】【变量名称】【;】
赋值
【变量名称】【=】【值】【;】
变量第一次被赋值叫做变量初始化。
变量在使用前必须被赋值,就是必须指向一个目标,不能只有名字,而不知道名字代表什么。
定义变量的同时进行赋值
【变量类型】【空格】【变量名称】【=】【值】【;】
相同变量类型条件下,同时初始化多个值
【变量类型】【空格】【变量名称1】【=】【值1】【;】【变量名称2】【=】【值2】【;】
当变量是类或结构中的字段时,如果不初始化,.NET会对变量初始化默认值。
当变量在方法中声明时,如果不初始化,编译器会报错。
万能变量类型var?
var类型根据变量初始化的值,进行类型推断,初始化完成后,实际上变量类型就明确了,本质上还是强类型。
var类型的变量必须初始化,否则,编译器就没有推断变量类型的依据。
var类型初始化完成后,就不能改变变量类型了。
局部变量的作用域?
变量的作用域是可以访问该变量的代码区域,区域通常是用({})划分。
定义变量的代码位置不同,作用域也不同。
一个作用域中不能存在相同的变量名称的变量,反之,在不同作用域中可以存在相同名称的变量,他们互不干扰。
当局部变量和字段重名时
局部变量隐藏了同名的在类下面定义的变量(字段),在局部该名称的变量指向的就是局部变量。
如果想在局部指向同名的字段,可以在变量名称前加上特殊说明(this),即【this.】【变量名】,this代表这个类的实例,如果字段是全局变量,请用类名代替this。
理解C#系列 / 核心C# / 变量的更多相关文章
- 理解C#系列 / 核心C# / 判断&循环&跳转
判断&循环&跳转 说明 本节写的是C#语言的控制程序流的语句,“控制程序流”就是控制程序运行流程的意思. 判断 很容易理解:如果……就…… if语句:测试特定条件是否满足,如果满足就执 ...
- 理解C#系列 / 核心C# / 数据类型
数据类型 数据类型 C#把数据类型分为两种:值类型和引用类型. 值类型和引用类型 值类型的变量直接指向存储的值,引用类型的变量指向值的引用.[理解:引用就像一个柜子的号码牌,可以顺藤摸瓜找到柜子.假如 ...
- 理解C#系列 / 核心C# / 常量
常量 常量? 我对常量的理解就是在初始化完成后再也不变的“全局变量”. 定义常量 [const][空格][变量类型][空格][变量名称][=][值][:] const表示定义的是常量. 常量特点 常量 ...
- 理解C#系列 / 核心C# / 枚举
枚举 如果没有枚举 //1代表s号:2代表m号:3代表l号:4代表XL号:5代表XXL号 ; ){ //快递发M号的衣服 } 有了枚举之后 声明枚举(请原谅我使用了中文汉字) public enum ...
- 理解C#系列 / 核心C# / 编译参数
编译参数 编译控制台应用程序 csc 源文件.cs 编译Windows应用程序 csc /t:winexe 源文件.cs 编译类库应用程序 csc /t:libray 源文件.cs 编译引用类库的应用 ...
- 理解C#系列 / 核心C# / 名称空间
名称空间namespace 名称空间 名称空间用来逻辑分类,而不是物理上的,名称空间与程序集无关[程序集:经由编译器编译得到的文件],同一个程序集中可以有2不同的名称空间,也可以在不同的程序集中定义同 ...
- 深入理解JavaScript系列(12):变量对象(Variable Object)
介绍 JavaScript编程的时候总避免不了声明函数和变量,以成功构建我们的系统,但是解释器是如何并且在什么地方去查找这些函数和变量呢?我们引用这些对象的时候究竟发生了什么? 原始发布:Dmitry ...
- 深入理解JavaScript系列(10):JavaScript核心(晋级高手必读篇)
本篇是ECMA-262-3 in detail系列的一个概述(本人后续会翻译整理这些文章到本系列(第11-19章).每个章节都有一个更详细的内容链接,你可以继续读一下每个章节对应的详细内容链接进行更深 ...
- 深入理解javascript系列(4):立即调用的函数表达式
本文来自汤姆大叔 前言 大家学JavaScript的时候,经常遇到自执行匿名函数的代码,今天我们主要就来想想说一下自执行. 在详细了解这个之前,我们来谈了解一下“自执行”这个叫法,本文对这个功能的叫法 ...
随机推荐
- 2013 French Open Semifinal Press
http://v.youku.com/v_show/id_XNTY4MTgzOTEy.html?firsttime=0 Novak, can you take any confirt for qu ...
- XianBicycle
https://github.com/xialinchong/secrettalkandroid https://github.com/talentprince/PhotoView https://g ...
- 【JavaScript】javascript常用的东西
DOM编程.AJAX编程.异步编程(nodejs会涉及的相对多一点,事件.ajax) 函数.函数表达式.回调函数是基础. JavaScript的函数是一个核心. 回调函数有点类似于Android中的回 ...
- C#MongoDB 分页查询的方法及性能
传统的SQL分页 传统的sql分页,所有的方案几乎是绕不开row_number的,对于需要各种排序,复杂查询的场景,row_number就是杀手锏.另外,针对现在的web很流行的poll/push加载 ...
- iOS开发——实用技术OC篇&事件处理详解
事件处理详解 一:事件处理 事件处理常见属性: 事件类型 @property(nonatomic,readonly) UIEventType type; @property(nonatomic ...
- iOS开发——网络编程OC篇&使用WebView构建HyBird应用
使用WebView构建HyBird应用 HyBird是一种本地技术与Web相结合,能过实现跨平台的移动应用开发,最常用的一个框架:PhoneGap 一:首先,写好html代码 <!DOCTYPE ...
- XCODE多行代码缩进快捷键
转自:http://xiagudao.com/xcode多行代码缩进快捷键 在XCODE中无法使用TAB键对多行代码进行缩进.想多行缩进,选中需要缩进的代码使用快捷键command(花键)+] 即可右 ...
- smartPtr指针的实现
编写一个智能指针类.智能指针是一种数据类型,一般用模板实现,模拟指针行为的同时还提供自动来及回收机制.它会自动记录SmartPointer<T*>对象的引用计数,一旦T类型对象的引用计数为 ...
- IIS 之 HTTP错误 404.17 - Not Found(请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。)
问题描述:HTTP 404.17 - Not Found" IIS 7.5 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理 . 出现这种情况的原因通常是因为先安装了Framew ...
- 通过GCD、NSOperationQueue队列、NSThread三种方法来创建多线程
#import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutl ...