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++ 中每个变量都有指定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上. 变量的名称可以由字母.数字和下划线字 ...
随机推荐
- Quartus II中FPGA的管脚分配保存方法
一.摘要 将Quartus II中FPGA管脚的分配及保存方法做一个汇总. 二.管脚分配方法 FPGA 的管脚分配,除了在QII软件中,选择“Assignments ->Pin”标签(或者点击按 ...
- php创建多级目录的两种方法
1.使用递归的思想 function mkdirs_2($path){ if(!is_dir($path)){ mkdirs_2(dirname($path)); if(!mkdir($path, 0 ...
- HDU2047
http://acm.hdu.edu.cn/showproblem.php?pid=2047 对于这道题,我就从后面向前面考虑. 当第n个是o的话,那么n-1 只可以取e或者f,如果n是e或者f的话, ...
- Android如何使用NoHttp
NoHttp 源码及Demo托管在Github欢迎大家Star: https://github.com/yanzhenjie/NoHttp NoHttp是专门做Android网络请求与下载的框架. N ...
- webview中的页面兼容iphone6和6+
其实写这篇文章的本不该是我,而应该是开发ios的小伙伴,但作为一个前端,我想我还是有必要做一下记录的! 首先我想说下在iphone6或者6+中webview内嵌套的页面宽度已经不在是320px,而是3 ...
- cookie sessionStorage localStorage 区别
sessionStorage 和 localStorage 是HTML5 Web Storage API 提供的,可以方便的在web请求之间保存数据.有了本地数据,就可以避免数据在浏览器和服务器间不必 ...
- 【软件工程】用map 实现把英语文本文件词和个数打印出来
#include <iostream> #include <fstream> #include <string> #include <map> usin ...
- 当前JS文件中加入其他js文件
注意:在html文件导入a.js时,应该把script></script写在/body>后面,否则 document.write()方法有问题. 在载入页面后,浏览器输出流自动关闭: ...
- (转载)IOS中UIScrollView的属性和委托方法
http://www.jizhishusheng.com/?p=453 ---- 以下内容来自 UIScrollView 类负责所有基于 UIKit 的滚动操作一.创建 1. CGRect bou ...
- [原创]PCB知识补充
近期又要使用Altium进行PCB板的绘制,算起来从大学课上第一次接触Protel99SE到现在已经算是半个熟练工了.不过现在想来还是能回忆起第一次使用的情景,对着一幅简单的原理图使用着自动连线的功能 ...