20151010 C# 第一篇 变量类型
20151010
变量类型:
1、 值类型:变量本身直接存储数据
整数类型:代表没有小数点的整数数值
|
类型 |
说明 |
范围 |
|
sbyte |
8位有符号整数 |
-128——127 |
|
short |
16位有符号整数 |
-32768——32767 |
|
int |
32位有符号整数 |
… |
|
long |
64位有符号整数 |
… |
|
|
||
|
byte |
8位无符号整数 |
0——255 |
|
ushort |
16位无符号整数 |
0——65535 |
|
uint |
32位无符号整数 |
… |
|
ulong |
64位无符号整数 |
… |
浮点类型:代表有小数点的数值
|
类型 |
说明 |
范围 |
|
float |
精确到7位数 |
… |
|
short |
精确到15-16位数 |
… |
布尔类型:表示 true/false值
|
类型 |
说明 |
范围 |
|
bool |
true/false |
… |
2、 引用类型:存取对数值的引用。
以New关键词创建引用类型变量,通常是对象的实例 ,托管在堆上。所有类都是引用类型,主要包括类、接口、数组、和委托。(引用类型的实例创建托管在堆上)
如:
|
Class A { Public int iValue = 0; … } Static void Main(string[] args) { A r1 = new A(); r1.iValue = 110; Console.WriteLine(“Values:{0},{1}”,r1.Value); Console.Readline(); } |
堆与栈的区别
栈是在编译时就分配好内存空间,在代码中有栈的明确定义。
堆是在程序运行中动态分配的内存空间,可以根据程序运行的动态分配内存大小
值类型与引用类型的区别
值类型总是在内存中占用一个预定义的字节数(栈中)
引用类型则在栈中分配一个内存空间,这个内存空间包含对另一个内存位置的引用,这个位置是托管在堆中的一个地址,即存放变量实际值得地方。
举例:值类型相当于现金,要用直接用,引用类型相当于存折,要用先去银行取。
3、 枚举类型:是一种独特的值类型,用于声明一组具有相同性质的常量。
使用关键词enum 类声明枚举(注意:用逗号隔开声明项),语法:
|
enum 枚举名 { List1 = value1, List2 = value2, … ListN = valueN } |
常用的例子声明年、月、日、星期等,如:
|
enum MyDate { Sun = 0,Mon = 1,Tue = 2,Wed =3,Thi =4,Fri =5,Sat = 6 } Static void Main(string[] args) { int K = (int)DateTime.Now.DayOfWeek; switch(K) { Case (int)MyDate.Sun: Console.WriteLine(“今天是星期日”); break; Case (int)MyDate. Mon: Console.WriteLine(“今天是星期一”); break; Case (int)MyDate.Tue: Console.WriteLine(“今天是星期二”); break; Case (int)MyDate.Wed: Console.WriteLine(“今天是星期三”); break; Case (int)MyDate.Thi: Console.WriteLine(“今天是星期四”); break; Case (int)MyDate.Fri: Console.WriteLine(“今天是星期五”); break; Case (int)MyDate.Sat: Console.WriteLine(“今天是星期六”); break; Default: break; } Console.ReadLine(); } |
变量的声明(略)
变量的作用域(略)
变量的赋值(略)
常量
可以使用关键词 const 来创建常量,一旦设置初始值就不允许修改。
如:const double PI = 3.1415926;

20151010 C# 第一篇 变量类型的更多相关文章
- Java面试系列第一篇-基本类型与引用类型
这篇文章总结一下我认为面试中最应该掌握的关于基本类型和引用类型的面试题目. 面试题目1:值传递与引用传递 对于没有接触过C++这类有引用传递的Java程序员来说,很容易误将引用类型的参数传递理解为引用 ...
- Java学习第一篇:变量,数据类型,运算符,流程控制(简介)
一.安装和配置jdk 1.jdk是什么? (1).jdk全称是Java Development Kit, Java开发工具包; (2).jdk是sun公司开发的; (3).jdk主要包括:jre(Ja ...
- C#语法糖之第一篇:自动属性&隐式类型
今天给大家分享一下C#语法糖的简单的两个知识点吧. 自动属性:在 C# 4.0 和更高版本中,当属性的访问器中不需要其他逻辑时,自动实现的属性可使属性声明更加简洁. 客户端代码还可通过这些属性创建对象 ...
- Java【第一篇】基本语法之--关键字、标识符、变量
关键字 定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)特点:关键字中所有字母都为小写 标识符 Java 对各种变量.方法和类等要素命名时使用的字符序列称为标识符凡是自己可以起名字的地 ...
- C#基础篇二变量与变量类型
说到数据类型,先把基本的数据类型拿出来 byte 0 到 255 无符号 8 位整数sbyte -128 到 127 有符号 8 位整数short -32,768 到 32,767 有符号 16 位整 ...
- wordpress如何添加自增变量(第一篇文章显示摘要后面的只显示标题)
有时我们在调用文章列表的时候需要在前面添加序号看起来比较整齐,如何实现呢?要想精确的控制每篇文章,我们先在循环前定义一个变量 $ashu_i=1 来计数,变量名随便,然后每循环一次,$ashu_i加1 ...
- [啃书] 第1篇 - 输入输出/变量类型/math函数
啃书部分已单独做成Gitbook了,后续不再更新.详情访问个人网站ccoding.cn或ccbyte.github.io 说在前面 一直想刷算法找不到很适合的书,后来发现考PAT很多推荐<算法笔 ...
- linux shell编程之变量和bash配置文件(第一篇)
编程语言有两类 强类型:如C语言.数据具有其特定的类型,先声明定义后才能使用.数据运算时必须符合类型要求(如不能把字符串类型数据直接与整型数据做算数运算) 弱类型:如shell.数据默认为字符型,不用 ...
- C++基础知识篇:C++ 变量类型
变量其实只不过是程序可操作的存储区的名称.C++ 中每个变量都有指定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上. 变量的名称可以由字母.数字和下划线字 ...
随机推荐
- Flex中使用CSS控制页面样式
Using file: Stylebounding.mxml Stylebounding2.mxml myCSS0329.css 在Flex4中使用CSS控制样式,既可以直接在MXML文件中写样式,也 ...
- Python从题目中学习:range()和xrange()
近期给公司培训Python,好好啃了啃书本,查了查资料,总结一些知识点. --------------------------------------------------------------- ...
- xml 中转意字符&\/使用方法
所有 XML 元素都须有关闭标签 在 HTML,经常会看到没有关闭标签的元素: <p>This is a paragraph <p>This is another paragr ...
- Python自动化 【第一篇】:Python简介和入门
Python简介: 一.什么是python Python是一门动态解释性的强类型定义语言. pythonde 特点:“优雅”.“明确”.“简单”. 二.Python由来 python的创始人为吉多·范 ...
- bootstrap分页插件--Bootstrap Paginator的使用&AJAX版备份(可单独使用)
html部分: <ul class="pagination"></ul> <!--bootstrap3版本用ul包裹--> <div cl ...
- asp.net下拉列表绑定数据库多个字段
select ID, CONVERT(varchar(10),TBName) +','+RoomName+ ',最大人数:'+CONVERT(varchar(10),MAXNum) as ClassR ...
- Linux内核分析第三周学习总结:构造一个简单的Linux系统MenuOS
韩玉琪 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.Linux内 ...
- POJ 2155 Matrix (二维树状数组)
Matrix Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 17224 Accepted: 6460 Descripti ...
- [原创]PCB知识补充
近期又要使用Altium进行PCB板的绘制,算起来从大学课上第一次接触Protel99SE到现在已经算是半个熟练工了.不过现在想来还是能回忆起第一次使用的情景,对着一幅简单的原理图使用着自动连线的功能 ...
- Selenium2+python自动化5-操作浏览器基本方法
前言 前面已经把环境搭建好了,这从这篇开始,正式学习selenium的webdriver框架.我们平常说的 selenium自动化,其实它并不是类似于QTP之类的有GUI界面的可视化工具,我们要学的是 ...